Hello, i have trying to optimize draw calls to my scene for gear vr, the problem is i don’t have so much polygons, (10k), all objets are static, i use just 6 different materials, but the draw calls grows up to 350 (100 recommended max by epic). i don’t now what to do again because i think i have optimized polygones to maximum low poly.
All object are static
The pawn actor is a little car very small in the road. Does the scene size have an influence on draw calls ? If i set the set scale from 5 to 1 for exemple and i reduce the pawn size to does it optimize draw calls ?
Have you an idea about other ways to optimize draw calls ?
More draw calls come from:
- Using many different materials. Combining multiple textures into a single big texture usually helps a lot. But you have only six, so that’s not the case.
- Translucent materials. Avoid them.
- Lights casting dynamic shadows.
- Unnecessary objects being rendered. This is an easy gain for corridor-based environments, urban exteriors. Precomputing visibility can help greatly. But it rather won’t be useful in your scene.
- Dynamic objects (but you say all your objects are static).
- Lots of separate objects that are not batched. This one is interesting. In Unity, static objects with the same materials and settings were automatically batched (combined) into a single draw call. After reading this discussion, I’m not sure if it’s done in Unreal too. Logically, it should be but is it? - Please support dynamic and static batching to minimize drawcalls for mobile and low-e - Feedback for Unreal Engine team - Unreal Engine Forums . One person suggests using “Editor Settings → Experimental → Actor Merging”. You can at least try joining some objects with the same material into a single mesh, before exporting from your 3D package.
Polygon count doesn’t influence draw calls number. Nor does object size, so don’t worry about it.
Thanks Oskar, it really help me !
Just One more question, when i delete all objects in my scene and sky map (full black) i’m at 50 draws calls, when we now that gear vr don’t support more than 100 draw call i don’t understand
=> Actor merging seems to work perfectly, i come from 400 draw calls to 100