Original Post
Hi all,
I've heard that one of the tricks of improving performance is minimizing draw calls.
First question: Is that really true?
If so,
Second qustion comes: Suppose I have a mesh consists of approx. 600,000 tris and contains 25 subsets. 10 of 'em are using, say, Material1; 8 of'em are using, say, Material2 and the rest are using Material3. Now I have 2 options:
* For each material, rendering subsets which are using that material (Is this called "Sorting by Material" ?) .
* Building one subset from subsets which are using the same materials (After that, I'll get 3 "big" subsets instead of 25, and number of draw calls will be decreased, correct?) .
Which option will be better?
Also, is it possible to perform 2nd option every frame (because some material info can be changed real-time) ? If so, how? By locking and unlocking vertex/index buffers, or something like that? Details, please.
Thx. in advance.
-R
I've heard that one of the tricks of improving performance is minimizing draw calls.
First question: Is that really true?
If so,
Second qustion comes: Suppose I have a mesh consists of approx. 600,000 tris and contains 25 subsets. 10 of 'em are using, say, Material1; 8 of'em are using, say, Material2 and the rest are using Material3. Now I have 2 options:
* For each material, rendering subsets which are using that material (Is this called "Sorting by Material" ?) .
* Building one subset from subsets which are using the same materials (After that, I'll get 3 "big" subsets instead of 25, and number of draw calls will be decreased, correct?) .
Which option will be better?
Also, is it possible to perform 2nd option every frame (because some material info can be changed real-time) ? If so, how? By locking and unlocking vertex/index buffers, or something like that? Details, please.
Thx. in advance.
-R