WebGPU: Significant frame rate drop observed during mouse zoom out

I zoom out with the mouse, the console shows ‘requestAnimationFrame’ handler took 420ms, and the frame rate drops significantly. I would like to know if there is a solution to this issue.
image

With what example you experience this issue? What device and OS are you using? Do you mind typing chrome://gpu/ in your address bar and share the contents?

Without any additional information, one possible reason is when you have a very complex scene. Close up viewing is fast, because most objects outside the viewing area are removed (culled), so rendering is fast. But when you zoom out, all objects are in the viewing area and their rendering takes much more time.

i’m really sorry cause too long is it okay?
and i use three.js examples this example code and just change glb file and add DRACOLoader

Graphics Feature Status

  • Canvas: Hardware accelerated
  • Canvas out-of-process rasterization: Enabled
  • Direct Rendering Display Compositor: Disabled
  • Compositing: Hardware accelerated
  • Multiple Raster Threads: Enabled
  • OpenGL: Enabled
  • Rasterization: Hardware accelerated
  • Raw Draw: Disabled
  • Video Decode: Hardware accelerated
  • Video Encode: Hardware accelerated
  • Vulkan: Disabled
  • WebGL: Hardware accelerated
  • WebGL2: Hardware accelerated
  • WebGPU: Hardware accelerated

Driver Bug Workarounds

  • clear_uniforms_before_first_program_use
  • decode_encode_srgb_for_generatemipmap
  • disable_vp_super_resolution
  • enable_webgl_timer_query_extensions
  • exit_on_context_lost
  • disabled_extension_GL_KHR_blend_equation_advanced
  • disabled_extension_GL_KHR_blend_equation_advanced_coherent

Problems Detected

  • Some drivers are unable to reset the D3D device in the GPU process sandbox
    Applied Workarounds: exit_on_context_lost

  • Clear uniforms before first program use on all platforms: [124764] [349137]
    Applied Workarounds: clear_uniforms_before_first_program_use

  • Disable KHR_blend_equation_advanced until cc shaders are updated: [661715
    Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)

  • Decode and Encode before generateMipmap for srgb format textures on Windows: [634519]
    Applied Workarounds: decode_encode_srgb_for_generatemipmap

  • Expose WebGL’s disjoint_timer_query extensions on platforms with site isolation: [808744
    Applied Workarounds: enable_webgl_timer_query_extensions

  • Only enable video processor super resolution on Intel Gen10+ GPUs and NVIDIA GPUs with 530+ drivers: [1318380]
    Applied Workarounds: disable_vp_super_resolution

  • GpuProcessHost: The info collection GPU process exited normally. Everything is okay.

yes I think so too because i just change glb file and add DRACOLoader from this example three.js examples
and not much frame drop load small glb file but too much frame drop load so big glb file
i was curious why no issue in WebGLRenderer issue only when i load in WebGPURenderer

If the model works well with WebGLRenderer, but is too slow with WebGPURenderer, it might be some issue with the renderer. I have no experience with WebGPURenderer, but it is rather new. Maybe it is still not optimized like WebGLRenderer?

1 Like