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.