keepBuffers webgpu

Is it possible to implement keepbuffer for webgpu, similar to webgl2?

@mvaligursky

What’s the goal of it?
WebGL implements this primarily for XR multiview rendering, which WebGPU does not support yet.

I have a lot of similar models that only differ in a few shader uniforms, I would like to save the buffers and uniforms and update only those uniforms.

  • Because you have to constantly render mesh instances, re-assigning all the data for the model and shader to them, the fps drops.

There are better way to get performance for this, for example: Consider using WebGPU Bundles to improve performance · Issue #5740 · playcanvas/engine · GitHub which will be coming in the future.

WebGPU uploads uniforms in uniform buffers, so updating just few uniforms is not an option. But for this, this should be a great help, which is again on a long TODO list: Implement material level uniform buffer (WebGPU initially) · Issue #6157 · playcanvas/engine · GitHub