Search the Community
Showing results for tags 'draw calls'.
-
So I compiled a stress test of Unigine's instancing/rendering capabilities, and my results are pretty strange. I'm hoping someone can explain why I'm getting these numbers. All tests are performed in a new scene, with only the profiler and toolbar visible. The object I'm using has 452 triangles and the default mesh-base material with one diffuse texture. All post-processing effects are off. Machine specs: Intel i7 CPU, 2.8 GHz Nvidia GeForce GTS 250 8 GB RAM 1920x1080 resolution 1. Everything disabled, blank screen FPS: 700 Draw Calls: 2 Shaders: 3 Triangles: 2 Materials: 2 2. A single object, no light FPS: 535 Draw Calls: 4 Shaders: 5 Triangles: 906 over 2x original triangle count Materials: 4 3. Two identical objects, same materials, no light FPS: 500 Draw Calls: 4 Shaders: 5 Triangles: 1810 about 4x original triangle count Materials: 4 4. 2 identical objects, world light enabled FPS: 480 Draw Calls: 7 Shaders: 8 Triangles: 4070 4.5x original triangle count Materials: 5 5. 10 identical objects, world light enabled FPS: 452 Draw Calls: 8 +1 Shaders: 8 Triangles: 19438 4.3x original triangle count Materials: 5 6. 50 identical objects, world light enabled FPS: 407 Draw Calls: 10 +2 Shaders: 7 -1? wtf? Triangles: 90402 4x original triangle count Materials: 5 7. 200 identical objects, world light enabled FPS: 145 Draw Calls: 56 +46! Shaders: 8 Triangles: 738570 over 8x original triangle count Materials: 5 8. 800 identical objects, world light enabled FPS: 57 Draw Calls: 204 +148! Shaders: 8 Triangles: 2912238 still 8x original triangle count Materials: 5 9. 3200 identical objects, world light enabled FPS: 19 Draw Calls: 602 +398! Shaders: 6 -2? Wtf? Triangles: 8678402 6x original triangle count Materials: 5 10. 3200 identical objects, world light DISABLED FPS: 27 Draw Calls: 402 Shaders: 5 Triangles: 5785602 4x original triangle count Materials: 4 The triangle and draw call counts are all over the place. I have some questions about this. Why do the profiler's triangle counts never match the object's tri count? Is it counting the triangles rendered in each pass? And if that's the case, why do the numbers still never match up evenly? There are tests where the triangle count is over 8 times what it should be! I performed this test with static meshes, because I've read that the batching in Unigine is done automatically, and the first couple cloning tests support that theory. So why do the draw calls increase? If these objects were truly instanced, shouldn't the engine draw them all in one call? And the draw call/poly increase never matches up with the rate at which I'm duplicating objects. Why does the directional light dramatically increase the triangle count? Why are there changes in shader count? I was also seeing some very strange behavior when copying objects. When getting up to the higher numbers where the numbers start to stray, I noticed a huge spike in the tri count when I copied objects, and watched it lower based on how near in world space the clone was to the original. I also saw the triangle count change based on where the objects were on the screen, and how far away the camera was. These objects didn't have any lod assigned, why would this change?
- 9 replies
-
- performance
- stress test
-
(and 3 more)
Tagged with: