- One frame has several dozen drawcalls.
- Drawcalls are grouped by blending, stencil etc. state
- Some uniforms change after every drawcall (glDrawArrays)
- Program is only changed once per frame
- Vertex buffer changes after every drawcall, but the same vertex buffer is used every n draw calls.
Attachment is a command dump of one frame.
It seems we have a large cpu overhead in a function called WritePDSVertexShaderProgramInternal. I suspect this has to do with vertex buffer changes.
Do you have tips on optimizing this? I have GLES 3.1, eventually I will upgrade to 3.2.glloggingcommandonly.txt (754.8 KB)