Determining Optimal Draw Call Size

Work should be packed into as few draw calls as possible to reduce API overhead

When using the OpenGL ES API, draw calls should contain a significant amount of work for the graphics core to process through the number of vertices, heavy shader arithmetic computation, or both. This negates the API overhead incurred by calling the function in the first place. Many light draw calls with little work for the graphics core to process each time can incur unnecessary overhead, and potentially lead to a CPU bottleneck.

When an application uses the Vulkan API correctly, this issue is much less critical due to the API being much more efficient. Command buffer submission results in significantly less driver overhead compared to OpenGL ES.