Issue metadata
Sign in to add a comment
|
Bad WebGL (three.js) performance
Reported by
loo...@gmail.com,
Jun 25 2017
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.40 Safari/537.36 Steps to reproduce the problem: 1. Open any three.js app 2. Check framerate if possible 3. See slow performance What is the expected behavior? Cool, smooth and juicy framerate What went wrong? Framerate is very choppy. With a very simple example I'm getting around 40fps on Chrome http://jsfiddle.net/akmcv7Lh/154/ More complex example run at <10 fps https://threejs.org/examples/#webgl_animation_cloth Both run at a smooth 60fps on Firefox and Edge. I have tested this on quite a few apps, both with and without framerate overlay Did this work before? N/A Chrome version: 60.0.3112.40 Channel: beta OS Version: 10.0 Flash Version: Shockwave Flash 26.0 r0 Geforce GTX 970m
,
Jun 26 2017
Could you please provide the contents of about:gpu (copy/pasted plaintext preferred) and tell us what kind of machine you have? Do you have two GPUs in your system and if so have you changed Chrome to run on the discrete GPU in NVIDIA's control panel?
,
Jun 26 2017
,
Jun 26 2017
same problem here on win10, gtx 1800. here's mine: Graphics Feature Status Canvas: Software only, hardware acceleration unavailable CheckerImaging: Disabled Flash: Software only, hardware acceleration unavailable Flash Stage3D: Software only, hardware acceleration unavailable Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable Compositing: Software only, hardware acceleration unavailable Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Software only, hardware acceleration unavailable Video Decode: Software only, hardware acceleration unavailable Video Encode: Software only, hardware acceleration unavailable WebGL: Hardware accelerated but at reduced performance WebGL2: Unavailable Driver Bug Workarounds clear_uniforms_before_first_program_use decode_encode_srgb_for_generatemipmap disable_discard_framebuffer disable_dxgi_zero_copy_video disable_framebuffer_cmaa exit_on_context_lost force_cube_complete scalarize_vec_and_mat_constructor_args texsubimage_faster_than_teximage Problems Detected Some drivers are unable to reset the D3D device in the GPU process sandbox Applied Workarounds: exit_on_context_lost TexSubImage is faster for full uploads on ANGLE Applied Workarounds: texsubimage_faster_than_teximage Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Always rewrite vec/mat constructors to be consistent: 398694 Applied Workarounds: scalarize_vec_and_mat_constructor_args ANGLE crash on glReadPixels from incomplete cube map texture: 518889 Applied Workarounds: force_cube_complete Framebuffer discarding can hurt performance on non-tilers: 570897 Applied Workarounds: disable_discard_framebuffer Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198 Applied Workarounds: disable_framebuffer_cmaa Zero-copy NV12 video displays incorrect colors on NVIDIA drivers.: 635319 Applied Workarounds: disable_dxgi_zero_copy_video Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Decode and Encode before generateMipmap for srgb format textures on Windows: 634519 Applied Workarounds: decode_encode_srgb_for_generatemipmap Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Checker-imaging has been disabled via finch trial or the command line. Disabled Features: checker_imaging Version Information Data exported 6/26/2017, 10:41:36 PM Chrome version Chrome/60.0.3112.40 Operating system Windows NT 10.0.15063 Software rendering list version 13.7 Driver bug list version 10.91 ANGLE commit id f1ca5288afea 2D graphics backend Skia/60 bb20c118c615565e31f1bd0bff0f6c9387f3d0cf- Command Line "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --enable-devtools-experiments --enable-es3-apis --enable-zero-copy --flag-switches-end Driver Information Initialization time 188 In-process GPU false Passthrough Command Decoder false Supports overlays false Sandboxed true GPU0 VENDOR = 0x10de, DEVICE= 0x1b80 Optimus false Optimus false AMD switchable false Desktop compositing Aero Glass Diagonal Monitor Size of \\.\DISPLAY2 19.0" Diagonal Monitor Size of \\.\DISPLAY1 26.9" Diagonal Monitor Size of \\.\DISPLAY2 26.9" Diagonal Monitor Size of \\.\DISPLAY3 26.9" Diagonal Monitor Size of \\.\DISPLAY4 26.9" Diagonal Monitor Size of \\.\DISPLAY1 26.9" Driver vendor Google Inc. Driver version 3.3.0.2 Driver date 2017/04/07 Pixel shader version 3.0 Vertex shader version 3.0 Max. MSAA samples 4 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER Google SwiftShader GL_VERSION OpenGL ES 2.0 SwiftShader GL_EXTENSIONS Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Window system binding vendor Google Inc. (adapter LUID: 0000000000008c67) Window system binding version 1.4 (ANGLE 2.1.0.f1ca5288afea) Window system binding extensions EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture_nv12 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_create_context_robust_resource_initialization Direct rendering Yes Reset notification strategy 0x0000 GPU process crash count 3 Compositor Information Tile Update Mode Zero-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only software is unusable for any kind of WebGL content, this is a critical issue. Here's a pretty minimal example that stutters at sub 30fps on my hardware: https://threejs.org/examples/#webgl_geometry_cube
,
Jun 26 2017
Nicolas, for some reason we're falling back to SwiftShader on high-end NVIDIA GPUs. Can you please triage this?
,
Jun 27 2017
Ken I think this might be a problem because of a bad merge from issue 735986 Looking at about:gpu, "GPU process crash count 3" and this version of beta had the bad CL. Closing as a duplicate - this should be fixed now.
,
Jun 27 2017
Thanks Jamie for the analysis and the heads up. Submitter, please test with the next beta build that will follow 60.0.3112.40. Thanks.
,
Jul 20 2017
I can confirm that for me this issue has disappeared. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by tkent@chromium.org
, Jun 26 2017