- keeping track of uniforms but only update them before a draw call, and only if their values have changed
- cache all bindings (active texture unit, buffers, attributes)
- cache blend states
- ..etc, basically cache the entire WebGL state to reduce overhead
Is this still consider a good practice? What I've been wondering is why this cannot be implemented by the browser, if this always makes sense to do?
And is WebGPU going to be different in this regard?