Does omitting single glUniform* calls have any benefit at all?

Greetings,

I tried to improve the performance of a performance heavy program by omitting superfluous glUniform* calls between the render calls. However, despite many calls being omitted now the cpu footprint of the gpu updates in preparation of the render calls doesn’t significantly decrease.

Now my question: As far as I know changing uniforms will cause a change to the “common store”. I assume this burden is visible as a cpu load on the WritePDSFragmentCommonStoreLoad and WritePDSVertexCommonStoreLoad function calls which are visible as part of the GLES3EmitState method.

Is it possible that even changing a single uniform between the drawcalls will cause a full, expensive common store update where omitting single uniform calls will help little?

As minimum, I will have to update the mvp matrix between the drawcalls and I do not want to switch to glMulti* calls yet.

Regards

Greetings,
I will look into it.
Regards

1 Like

Greetings,
Since this is a matter of how the driver behaves, I must redirect you to pvrsupport.imgtec.com where you will be able to create a (private) ticket. I will answer the ticket as soon as you have created it.
Regards