Closed
Bug 1510403
Opened 6 years ago
Closed 5 years ago
Mousing over Google Doc causes WebRender's slow frame indicator to keep moving
Categories
(Core :: Graphics: WebRender, defect, P2)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox65 | --- | affected |
firefox67 | --- | unaffected |
firefox68 | --- | unaffected |
People
(Reporter: cpeterson, Unassigned)
References
(Blocks 2 open bugs, )
Details
STR:
1. Enable gfx.webrender.all and gfx.webrender.debug.slow-frame-indicator prefs.
2. Load a Google Doc such as: https://docs.google.com/document/d/1CTaWucldHxEri5BUB1kL4faF4prwPlBa31yHFd-l8uc/edit
3. Scroll the doc until any flashing cursors are out of the viewport.
4. Mouse over the doc's text.
RESULT:
On Windows, WebRender's slow frame indicator keeps moving even though nothing on the page appears to be dirty.
I was NOT able to reproduce this Google Doc problem with WebRender on macOS.
Reporter | ||
Comment 1•6 years ago
|
||
Here is about:support for my Windows laptop:
Application Basics
------------------
Name: Firefox
Version: 65.0a1
Build ID: 20181127100134
Update Channel: nightly
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
OS: Windows_NT 10.0
Multiprocess Windows: 4/4 (Enabled by user)
Web Content Processes: 9/7
Enterprise Policies: Inactive
Google Key: Found
Mozilla Location Service Key: Found
Safe Mode: false
Graphics
--------
Features
Compositing: WebRender
Asynchronous Pan/Zoom: wheel input enabled; touch input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000e9a7) EGL_VERSION: 1.4 (ANGLE 2.1.0.790e8e6b4179) EGL_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 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_MOZ_create_context_provoking_vertex_dont_care EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_ANGLE_explicit_context
WebGL 1 Driver Renderer: Google Inc. -- ANGLE (Intel(R) HD Graphics 530 Direct3D11 vs_5_0 ps_5_0)
WebGL 1 Driver Version: OpenGL ES 2.0 (ANGLE 2.1.0.790e8e6b4179)
WebGL 1 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_sRGB EXT_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context
WebGL 2 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000e9a7) EGL_VERSION: 1.4 (ANGLE 2.1.0.790e8e6b4179) EGL_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 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_MOZ_create_context_provoking_vertex_dont_care EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_ANGLE_explicit_context
WebGL 2 Driver Renderer: Google Inc. -- ANGLE (Intel(R) HD Graphics 530 Direct3D11 vs_5_0 ps_5_0)
WebGL 2 Driver Version: OpenGL ES 3.0 (ANGLE 2.1.0.790e8e6b4179)
WebGL 2 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_multiview GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture
WebGL 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Direct2D: true
Uses Tiling (Content): true
Off Main Thread Painting Enabled: true
Off Main Thread Painting Worker Count: 4
DirectWrite: true (10.0.17763.1)
GPU #1
Active: Yes
Description: Intel(R) HD Graphics 530
Vendor ID: 0x8086
Device ID: 0x191b
Driver Version: 25.20.100.6373
Driver Date: 10-31-2018
Drivers: igdumdim64 igd10iumd64 igd10iumd64 igd12umd64 igdumdim32 igd10iumd32 igd10iumd32 igd12umd32
Subsys ID: 674e1a58
RAM: Unknown
GPU #2
Active: No
Description: NVIDIA GeForce GTX 970M
Vendor ID: 0x10de
Device ID: 0x13d8
Driver Version: 23.21.13.8873
Driver Date: 12-18-2017
Drivers: C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumdx.dll C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvrz.inf_amd64_7550cbd75f58b6c2\nvldumd.dll
Subsys ID: 674e1a58
RAM: 6144
Diagnostics
ClearType Parameters: Gamma: 2.2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50
AzureCanvasAccelerated: 0
AzureCanvasBackend: direct2d 1.1
AzureCanvasBackend (UI Process): skia
AzureContentBackend: skia
AzureContentBackend (UI Process): skia
AzureFallbackCanvasBackend (UI Process): cairo
Slow Frame #01: Frame 219(https://docs.google.com/document/d/1vITDHIxST0T-1gB8CqIAI51UYur3xhsq0H1tetbHeHo/edit?ts=5bfc4a26#heading=h.kc9qkx8t4bgh) CONTENT_FRAME_TIME 9792 - Transaction start 0.082700, main-thread time 2.606300, full paint time 1491.485900, Skipped composites 0, Composite start 1625.406400, Resource upload time 0.034400, GPU cache upload time 1.104000, Render time 4.072100, Composite time 7.202700
Slow Frame #02: Frame 220(https://docs.google.com/document/d/1vITDHIxST0T-1gB8CqIAI51UYur3xhsq0H1tetbHeHo/edit?ts=5bfc4a26#heading=h.kc9qkx8t4bgh) CONTENT_FRAME_TIME 9127 - Transaction start 0.578800, main-thread time 9.888200, full paint time 1383.667500, Skipped composites 0, Composite start 1514.988600, Resource upload time 0.034400, GPU cache upload time 1.104000, Render time 4.072100, Composite time 7.202700
Slow Frame #03: Frame 1(about:blank) CONTENT_FRAME_TIME 6137 - Transaction start 0.000000, main-thread time 0.330700, full paint time 0.717300, Skipped composites 0, Composite start 978.187500, Resource upload time 2.557000, GPU cache upload time 0.066000, Render time 15.362300, Composite time 45.029500
Slow Frame #04: Frame 3(chrome://gfxsanity/content/sanitytest.html) CONTENT_FRAME_TIME 4455 - Transaction start 0.044700, main-thread time 0.270400, full paint time 0.831700, Skipped composites 0, Composite start 635.187800, Resource upload time 0.000400, GPU cache upload time 0.054700, Render time 107.317000, Composite time 107.610200
Slow Frame #05: Frame 2(https://docs.google.com/document/d/1MO-U0xTiAsO0CiG7E6HWBQu2JSNy7hu10J4RX6CJXHo/edit#heading=h.xxepy32y9d1q) CONTENT_FRAME_TIME 4378 - Transaction start 0.524600, main-thread time 6.339100, full paint time 28.144200, Skipped composites 0, Composite start 36.077800, Resource upload time 28.942900, GPU cache upload time 0.722900, Render time 690.607800, Composite time 694.403000
Slow Frame #06: Frame 1(about:blank) CONTENT_FRAME_TIME 4256 - Transaction start 0.000000, main-thread time 0.084600, full paint time 0.734800, Skipped composites 0, Composite start 679.927600, Resource upload time 6.363300, GPU cache upload time 0.091300, Render time 28.426300, Composite time 29.558500
Slow Frame #07: Frame 2(chrome://gfxsanity/content/sanitytest.html) CONTENT_FRAME_TIME 4014 - Transaction start 1.580900, main-thread time 0.424000, full paint time 0.843900, Skipped composites 0, Composite start 17.407200, Resource upload time 0.000700, GPU cache upload time 0.057100, Render time 1.147900, Composite time 653.293400
Slow Frame #08: Frame 86(https://twitter.com/womenstilltrash/status/1066095291252776961) CONTENT_FRAME_TIME 3881 - Transaction start 5.671800, main-thread time 10.834100, full paint time 20.359800, Skipped composites 0, Composite start 27.288900, Resource upload time 0.001000, GPU cache upload time 0.608200, Render time 616.583900, Composite time 625.381800
Slow Frame #09: Frame 40(https://docs.google.com/document/d/1MO-U0xTiAsO0CiG7E6HWBQu2JSNy7hu10J4RX6CJXHo/edit#heading=h.xxepy32y9d1q) CONTENT_FRAME_TIME 3773 - Transaction start 38.489200, main-thread time 5.038100, full paint time 6.955800, Skipped composites 0, Composite start 657.898500, Resource upload time 0.239700, GPU cache upload time 1.054000, Render time 4.447100, Composite time 9.590700
Slow Frame #10: Frame 1(about:blank) CONTENT_FRAME_TIME 3629 - Transaction start 0.000000, main-thread time 0.047100, full paint time 0.446400, Skipped composites 0, Composite start 495.050800, Resource upload time 0.057400, GPU cache upload time 0.073700, Render time 1.576100, Composite time 109.929700
GPUProcessPid: 14364
GPUProcess: Terminate GPU Process
Device Reset: Trigger Device Reset
ClearType Parameters: Gamma: 2.2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50
failures: GP+[GFX1-]: Updating unknown shared surface: 377957122168
Decision Log
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
available by user: Force enabled by pref
WEBRENDER_QUALIFIED:
blocked by env: Has battery
Failure Log
(#0): GP+[GFX1-]: Updating unknown shared surface: 377957122168
(#1): GP+[GFX1-]: Updating unknown shared surface: 382252089412
Comment 2•6 years ago
|
||
I'm unable to reproduce on Windows (though I'm not logged in). Can you grab a profile of it happening? Make sure you add "RenderBackend,Renderer,WebRender,Wr" to the threads list in profiler ui.
Flags: needinfo?(cpeterson)
Comment 3•6 years ago
|
||
And my guess is this is some blob image thing gone bad.
Reporter | ||
Comment 4•6 years ago
|
||
After some more investigation, I see that this problem only happens scrolling the Google Doc (I'm using my laptop's track pad) when my laptop is running on *battery power*. Scrolling seems to reproduce the problem more easily than mousing over the doc.
My laptop has an integrated Intel GPU and a discrete NVIDIA GPU. I used the NVIDIA Control Panel to force the NVIDIA GPU, but my about:support says my "Intel(R) HD Graphics 530" GPU #1 is active and my "NVIDIA GeForce GTX 970M" GPU #2 is inactive. When switching between AC and battery power and refreshing about:support always shows my Intel GPU as active, never the NVIDIA GPU.
Profile of scrolling on AC power with no slow frame indicator activity:
http://bit.ly/2Rhv4uD
Profile of scrolling on battery power with continuous slow frame indicator activity:
http://bit.ly/2RfFU4c
Flags: needinfo?(cpeterson)
Updated•6 years ago
|
Blocks: stage-wr-trains
Priority: -- → P2
Updated•6 years ago
|
Flags: needinfo?(jmuizelaar)
Comment 5•5 years ago
|
||
Can you still reproduce this?
Flags: needinfo?(jmuizelaar) → needinfo?(cpeterson)
Reporter | ||
Comment 6•5 years ago
|
||
I'm no longer able to reproduce this problem. I tested 67 Beta and 68 Nightly on Windows 10.
Status: NEW → RESOLVED
Closed: 5 years ago
status-firefox67:
--- → unaffected
status-firefox68:
--- → unaffected
Flags: needinfo?(cpeterson)
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•