Open Bug 1707845 Opened 3 years ago Updated 6 months ago

Jittery 3D CSS

Categories

(Core :: Graphics: WebRender, defect)

Firefox 88
defect

Tracking

()

People

(Reporter: rogerfgay, Unassigned)

References

(Depends on 1 open bug, Blocks 2 open bugs)

Details

Attachments

(4 files, 1 obsolete file)

Attached file CSSBug2.zip

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0

Steps to reproduce:

Demo code attached and also at: https://hll.nu/CSSBug2/index.htm

The page displays a rotating rectangular shaped "photo cube" from the inside.

I'm generally testing on two different Windows computers. One is old and one is new; both with Windows 10 and UTD Firefox: 88.0 (64-bit)

Actual results:

Especially when looking toward corners, movement becomes noticeably jittery. This problem occurs in Firefox, but not in Chrome, Edge, or Safari.

Expected results:

Movement should have been smooth.

The Bugbug bot thinks this bug should belong to the 'Core::CSS Parsing and Computation' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → CSS Parsing and Computation
Product: Firefox → Core

I've also noticed high GPU usage compared to Chrome when running this stuff.
Chrome runs with 20-30% mostly (according to Task Manager -> Performance).
Firefox can be 80-100%.

AMD Radeon Graphics GPU
NVIDIA onboard isn't used.

Can you attach the contents of about:support? Ideally also a profile with the "graphics" preset with https://profiler.mozilla.com

Component: CSS Parsing and Computation → Graphics
Flags: needinfo?(rogerfgay)

Give Firefox a tune up
Diagnose issues
Try clearing the startup cache
Troubleshooting Information
This page contains technical information that might be useful when you’re trying to solve a problem. If you are looking for answers to common questions about Firefox, check out our support website.
Application Basics
Name Firefox
Version 88.0
Build ID 20210415204500
Distribution ID acer-002
Update Folder
C:\ProgramData\Mozilla\updates\308046B0AF4A39CB
Update History
Update Channel release
User Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
OS Windows_NT 10.0 19042
Application Binary C:\Program Files\Mozilla Firefox\firefox.exe
Profile Folder
C:\Users\roger\AppData\Roaming\Mozilla\Firefox\Profiles\lmxa8b7s.default-release
Enabled Plugins about:plugins
Build Configuration about:buildconfig
Memory Use about:memory
Performance about:performance
Registered Service Workers about:serviceworkers
Launcher Process Enabled
Multiprocess Windows 1/1
Fission Windows 0/1 Disabled by default
Remote Processes 6
Enterprise Policies Inactive
Google Location Service Key Found
Google Safebrowsing Key Found
Mozilla Location Service Key Found
Safe Mode false
Profiles about:profiles
Crash Reports for the Last 3 Days
Report ID Submitted

All Crash Reports
Firefox Features
Name Version ID
DoH Roll-Out 2.0.0 doh-rollout@mozilla.org
Firefox Screenshots 39.0.0 screenshots@mozilla.org
Form Autofill 1.0 formautofill@mozilla.org
Picture-In-Picture 1.0.0 pictureinpicture@mozilla.org
Web Compatibility Interventions 21.0.0 webcompat@mozilla.org
WebCompat Reporter 1.4.0 webcompat-reporter@mozilla.org
Remote Features
Name Status
Remote Processes
Type Count
Web Content 2 / 8
Extension 1
Privileged About 1
Preallocated 1
GPU 1
Add-ons
Name Type Version Enabled ID
AdBlock — best ad blocker extension 4.32.1 true jid1-NIfFY2CA8fy1tg@jetpack
Amazon.com extension 1.3 true amazondotcom@search.mozilla.org
Bing extension 1.3 true bing@search.mozilla.org
DuckDuckGo extension 1.1 true ddg@search.mozilla.org
eBay extension 1.3 true ebay@search.mozilla.org
Facebook Container extension 2.1.2 true @contain-facebook
Firefox DevTools ADB Extension extension 0.0.5 true adb@mozilla.org
Google extension 1.1 true google@search.mozilla.org
Greasemonkey extension 4.11 true {e4a8a97b-f2ed-450b-b12d-ee082ba24781}
Malwarebytes Browser Guard extension 2.2.23 true {242af0bb-db11-4734-b7a0-61cb8a9b20fb}
Wikipedia (en) extension 1.1 true wikipedia@search.mozilla.org
English (US) Language Pack locale 88.0buildid20210415204500 true langpack-en-US@firefox.mozilla.org
Security Software
Type Name
Antivirus Malwarebytes
Antispyware
Firewall Windows Firewall
Graphics
Features
Compositing WebRender
Asynchronous Pan/Zoom wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled; smooth pinch-zoom enabled
WebGL 1 Driver WSI Info EGL_VENDOR: Google Inc. (adapter LUID: 000000000000d18d)
EGL_VERSION: 1.5 (ANGLE 2.1.14225 git hash: 3778168311ca)
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_display_semaphore_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_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_image_d3d11_texture EGL_ANGLE_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_KHR_reusable_sync
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_platform_angle_d3d11on12 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 EGL_ANGLE_feature_control
IsWebglOutOfProcessEnabled: 1
WebGL 1 Driver Renderer Google Inc. -- ANGLE (AMD Radeon(TM) Graphics Direct3D11 vs_5_0 ps_5_0)
WebGL 1 Driver Version OpenGL ES 2.0.0 (ANGLE 2.1.14225 git hash: 3778168311ca)
WebGL 1 Driver Extensions GL_ANGLE_base_vertex_base_instance 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_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_multiview_multisample GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension 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_lose_context GL_CHROMIUM_sync_query GL_EXT_EGL_image_external_wrap_modes GL_EXT_blend_func_extended 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_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multisampled_render_to_texture 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_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc 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_no_error 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_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap 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_border_clamp 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_texture_stencil8 GL_OES_vertex_array_object GL_WEBGL_video_texture
WebGL 1 Extensions ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_sRGB EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_element_index_uint OES_fbo_render_mipmap 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: 000000000000d18d)
EGL_VERSION: 1.5 (ANGLE 2.1.14225 git hash: 3778168311ca)
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_display_semaphore_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_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_image_d3d11_texture EGL_ANGLE_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_KHR_reusable_sync
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_platform_angle_d3d11on12 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 EGL_ANGLE_feature_control
IsWebglOutOfProcessEnabled: 1
WebGL 2 Driver Renderer Google Inc. -- ANGLE (AMD Radeon(TM) Graphics Direct3D11 vs_5_0 ps_5_0)
WebGL 2 Driver Version OpenGL ES 3.0.0 (ANGLE 2.1.14225 git hash: 3778168311ca)
WebGL 2 Driver Extensions GL_ANGLE_base_vertex_base_instance GL_ANGLE_client_arrays GL_ANGLE_copy_texture_3d GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_multiview_multisample GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_multisample GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_EGL_image_external_wrap_modes GL_EXT_blend_func_extended 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_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multisampled_render_to_texture 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_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc 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_no_error 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_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap 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_border_clamp 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_texture_stencil8 GL_OES_vertex_array_object GL_OVR_multiview GL_OVR_multiview2 GL_WEBGL_video_texture
WebGL 2 Extensions EXT_color_buffer_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_texture_float_linear OVR_multiview2 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Direct2D true
Target Frame Rate 144
DirectWrite true (10.0.19041.804)
GPU #1
Active Yes
Description AMD Radeon(TM) Graphics
Vendor ID 0x1002
Device ID 0x1636
Driver Version 27.20.1022.3003
Driver Date 6-22-2020
Drivers aticfx64 aticfx64 aticfx64 amdxc64 aticfx32 aticfx32 aticfx32 amdxc32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a
Subsys ID 14551025
RAM 512
GPU #2
Active No
Description NVIDIA GeForce GTX 1650 Ti
Vendor ID 0x10de
Device ID 0x1f95
Driver Version 27.21.14.6611
Driver Date 4-12-2021
Drivers C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumdx.dll C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvaci.inf_amd64_874a6e48835bcd1f\nvldumd.dll
Subsys ID 14471025
RAM 4096
Diagnostics
AzureCanvasBackend direct2d 1.1
AzureCanvasBackend (UI Process) skia
AzureContentBackend skia
AzureContentBackend (UI Process) skia
AzureFallbackCanvasBackend (UI Process) none
CMSOutputProfile AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//
Display0 1920x1080@144Hz : AMD Radeon(TM) Graphics
DisplayCount 1
HardwareStretching both=0 window-only=0 full-screen-only=1 none=0 error=0
GPUProcessPid 5480
ClearType Parameters Gamma: 1.8 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50
Decision Log
HW_COMPOSITING
available by default
D3D11_COMPOSITING
available by default
DIRECT2D
available by default
D3D11_HW_ANGLE
available by default
GPU_PROCESS
available by default
WEBRENDER
available by default
WEBRENDER_QUALIFIED
available by default
WEBRENDER_COMPOSITOR
available by default
WEBRENDER_PARTIAL
available by default
WEBRENDER_OPTIMIZED_SHADERS
available by default
WEBRENDER_ANGLE
available by default
WEBRENDER_DCOMP_PRESENT
available by default
WEBRENDER_SOFTWARE
available by default
unavailable by env: User has D3D11 support on release
OMTP
disabled by default: Disabled by default
WEBGPU
disabled by default: Disabled by default
blocked by runtime: WebGPU can only be enabled in nightly
Media
Audio Backend wasapi
Max Channels 2
Preferred Sample Rate 48000
Roundtrip latency (standard deviation) 53.98ms (4.15)
Output Devices
Name Group Vendor State Preferred Format Channels Rate Latency
Disabled None default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 0 - 0
NVIDIA Output (NVIDIA High Definition Audio) HDAUDIO\FUNC_01&VEN_10DE&DEV_0094&SUBSYS_10251455&REV_1001\5&390c4408&0&0001 Unplugged None default: F32LE, support: S16LE F32LE 0 default: 0, support: 0 - 0 0 - 0
Speakers (Realtek(R) Audio) HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_10251455&REV_1000\5&2b078d7c&0&0001 Disabled None default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 0 - 0
Speakers (Realtek(R) Audio) Disabled None default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 0 - 0
Headphones (Realtek(R) Audio) Disabled None default: F32LE, support: S16LE F32LE 0 default: 0, support: 0 - 0 0 - 0
Headphones (Realtek(R) Audio) HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_10251455&REV_1000\5&2b078d7c&0&0001 Unplugged None default: F32LE, support: S16LE F32LE 0 default: 0, support: 0 - 0 0 - 0
Speakers (Realtek(R) Audio) HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_10251455&REV_1000\5&2b078d7c&0&0001 Enabled All default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 144 - 512
Input Devices
Name Group Vendor State Preferred Format Channels Rate Latency
Disabled None default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 0 - 0
Microphone Array (Realtek(R) Audio) HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_10251455&REV_1000\5&2b078d7c&0&0001 Enabled All default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 144 - 480
Internal AUX Jack (High Definition Audio Device) HDAUDIO\FUNC_01&VEN_10DE&DEV_0094&SUBSYS_10251455&REV_1001\5&390c4408&0&0001 Disabled None default: F32LE, support: S16LE F32LE 0 default: 0, support: 0 - 0 0 - 0
Internal AUX Jack (NVIDIA High Definition Audio) HDAUDIO\FUNC_01&VEN_10DE&DEV_0094&SUBSYS_10251455&REV_1001\5&390c4408&0&0001 Disabled None default: F32LE, support: S16LE F32LE 0 default: 0, support: 0 - 0 0 - 0
Microphone (Realtek(R) Audio) HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_10251455&REV_1000\5&2b078d7c&0&0001 Disabled None default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 0 - 0
Stereo Mix (Realtek(R) Audio) Disabled None default: F32LE, support: S16LE F32LE 0 default: 0, support: 0 - 0 0 - 0
Microphone Array (Realtek(R) Audio) Disabled None default: F32LE, support: S16LE F32LE 2 default: 48000, support: 48000 - 48000 0 - 0
Stereo Mix (Realtek(R) Audio) HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_10251455&REV_1000\5&2b078d7c&0&0001 Disabled None default: F32LE, support: S16LE F32LE 0 default: 0, support: 0 - 0 0 - 0
Environment Variables
Name Value MOZ_CRASHREPORTER_DATA_DIRECTORY C:\Users\roger\AppData\Roaming\Mozilla\Firefox\Crash Reports
MOZ_CRASHREPORTER_EVENTS_DIRECTORY C:\Users\roger\AppData\Roaming\Mozilla\Firefox\Crash Reports\events
MOZ_CRASHREPORTER_PING_DIRECTORY C:\Users\roger\AppData\Roaming\Mozilla\Firefox\Pending Pings
MOZ_CRASHREPORTER_RESTART_ARG_0 C:\Program Files\Mozilla Firefox\firefox.exe
MOZ_CRASHREPORTER_STRINGS_OVERRIDE C:\Program Files\Mozilla Firefox\browser\crashreporter-override.ini
MOZ_PLUGIN_PATH C:\PROGRAM FILES (X86)\FOXIT SOFTWARE\FOXIT READER\plugins
Experimental Features
Name Value about:home startup cache (browser.startup.homepage.abouthome_cache.enabled) false
Cookies: SameSite=Lax by default (network.cookie.sameSite.laxByDefault) false
Cookies: SameSite=None requires secure attribute (network.cookie.sameSite.noneRequiresSecure) false
Cookies: Schemeful SameSite (network.cookie.sameSite.schemeful) false
CSS: Constructable Stylesheets (layout.css.constructable-stylesheets.enabled) false
CSS: Masonry Layout (layout.css.grid-template-masonry-value.enabled) false
Developer Tools: Color Scheme Simulation (devtools.inspector.color-scheme-simulation.enabled) true
Developer Tools: Compatibility Panel (devtools.inspector.compatibility.enabled) false
Developer Tools: Execution Context Selector (devtools.webconsole.input.context) false
Developer Tools: Service Worker debugging (devtools.debugger.features.windowless-service-workers) false
Fission (Site Isolation) (fission.autostart) false
HTTP/3 protocol (network.http.http3.enabled) false
Media: AVIF (image.avif.enabled) false
Multiple Picture-in-Picture Support (media.videocontrols.picture-in-picture.allow-multiple) true
Address Bar: show results during IME composition (browser.urlbar.keepPanelOpenDuringImeComposition) false
Web API: inputmode (dom.forms.inputmode) false
Web API: WebGPU (dom.webgpu.enabled) false
WebRTC Global Mute Toggles (privacy.webrtc.globalMuteToggles) false
Remote Experiments
Name Experiment Branch

See about:studies for more information, including how to disable individual experiments or to disable Firefox from running this type of experiment in the future.
Important Modified Preferences
Name Value accessibility.typeaheadfind.flashBar 0
browser.cache.disk.amount_written 1131818
browser.cache.disk.capacity 1048576
browser.cache.disk.filesystem_reported 1
browser.contentblocking.category standard
browser.download.useDownloadDir false
browser.search.region SE
browser.sessionstore.upgradeBackup.latestBuildID 20210415204500
browser.startup.homepage about:home
browser.startup.homepage_override.buildID 20210415204500
browser.startup.homepage_override.mstone 88.0
browser.startup.page 3
browser.urlbar.matchBuckets general:5,suggestion:Infinity
browser.urlbar.placeholderName Google
browser.urlbar.placeholderName.private Google
browser.urlbar.resultBuckets {"children":[{"maxResultCount":1,"children":[{"group":"heuristicTest"},{"group":"heuristicExtension"},{"group":"heuristi
browser.urlbar.showSearchSuggestionsFirst false
browser.urlbar.tipShownCount.searchTip_onboard 4
browser.urlbar.tipShownCount.tabToSearch 21
doh-rollout.balrog-migration-done true
doh-rollout.doneFirstRun true
dom.push.userAgentID be5ba9af48d44bfaa5a5ee190a77e3e7
extensions.formautofill.addresses.usage.hasEntry false
extensions.lastAppVersion 88.0
gfx.crash-guard.status.wmfvpxvideo 2
gfx.crash-guard.wmfvpxvideo.appVersion 88.0
gfx.crash-guard.wmfvpxvideo.deviceID 0x1636
gfx.crash-guard.wmfvpxvideo.driverVersion 27.20.1022.3003
idle.lastDailyNotification 1619529928
layers.mlgpu.sanity-test-failed true
media.gmp-gmpopenh264.abi x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate 1596102076
media.gmp-gmpopenh264.version 1.8.1.1
media.gmp-manager.buildID 20210415204500
media.gmp-manager.lastCheck 1619436982
media.gmp-widevinecdm.abi x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate 1619080705
media.gmp-widevinecdm.version 4.10.2209.1
media.gmp.storage.version.observed 1
media.hardware-video-decoding.failed false
media.videocontrols.picture-in-picture.video-toggle.has-used true
network.predictor.cleaned-up true
network.trr.blocklist_cleanup_done true
places.database.lastMaintenance 1619356821
places.history.expiration.transient_current_max_pages 82436
plugin.disable_full_page_plugin_for_types application/pdf
privacy.purge_trackers.date_in_cookie_database 0
privacy.purge_trackers.last_purge 1619529928819
privacy.sanitize.pending [{"id":"newtab-container","itemsToClear":[],"options":{}}]
privacy.userContext.enabled true
privacy.userContext.extension @contain-facebook
privacy.userContext.ui.enabled true
security.remote_settings.crlite_filters.checked 1619532193
security.remote_settings.intermediates.checked 1619523590
security.sandbox.content.tempDirSuffix {78faec4a-7da6-4c76-945c-1e1852c21ab4}
security.sandbox.plugin.tempDirSuffix {5f328697-0435-4eb3-8637-ce7428fb06cd}
services.sync.declinedEngines
services.sync.engine.creditcards true
services.sync.engine.prefs.modified false
services.sync.lastPing 1619526789
services.sync.lastSync Tue Apr 27 2021 21:27:41 GMT+0200 (Central European Summer Time)
signon.importedFromSqlite true
signon.suggestImportCount 0
signon.usage.hasEntry true
signon.usage.lastUsed 1608568401
storage.vacuum.last.index 1
storage.vacuum.last.places.sqlite 1619443528
ui.osk.debug.keyboardDisplayReason IKPOS: Touch screen not found.
Important Locked Preferences
Name Value fission.autostart.session false
Places Database
Integrity
Accessibility
Activated false
Prevent Accessibility 0
Accessible Handler Used true
Accessibility Instantiator
Library Versions
Expected minimum version Version in use
NSPR 4.30 4.30
NSS 3.63.1 3.63.1
NSSSMIME 3.63.1 3.63.1
NSSSSL 3.63.1 3.63.1
NSSUTIL 3.63.1 3.63.1
Sandbox
Content Process Sandbox Level 6
Effective Content Process Sandbox Level 6
Startup Cache
Disk Cache Path C:\Users\roger\AppData\Local\Mozilla\Firefox\Profiles\lmxa8b7s.default-release\startupCache\startupCache.8.little
Ignore Disk Cache false
Found Disk Cache on Init true
Wrote to Disk Cache false
Internationalization & Localization
Application Settings
Requested Locales ["en-US"]
Available Locales ["en-US"]
App Locales ["en-US"]
Regional Preferences ["en-SE"]
Default Locale "en-US"
Operating System
System Locales ["en-SE","en-GB"]
Regional Preferences ["en-SE"]
Remote Debugging (Chromium Protocol)
Accepting Connections false
URL
Printing
Troubleshooting
Modified print settings
Name Value

Flags: needinfo?(rogerfgay)

Found https://profiler.firefox.com/ .... could use some instructions ... haven't used it before.

Attached file Profile-20210428T075550.zip (obsolete) —

~6 sec. profile

Oh ... the profiler. Sorry - I must have been tired. ... attached.

Attachment #9218856 - Attachment is obsolete: true

(In reply to rogerfgay from comment #5)

Found https://profiler.firefox.com/ .... could use some instructions ... haven't used it before.

No problem ... see below.

Sorry for my clumsiness .. above profile link isn't for sharing ... this one is.

https://share.firefox.dev/3vrryl6

Thank you for providing all this information!
Unfortunately, the profile doesn't include the threads we are interested in. If you can switch to "Firefox Graphics" settings (in the profiler menu) and profile again, that would be most useful.
I'm taking a look at the GPU side now (but on NVidia so far).

Severity: -- → S3
Component: Graphics → Graphics: WebRender
Flags: needinfo?(rogerfgay)

Some things I see from a GPU capture:

  1. Some of the alpha targets only do the "clear" job and nothing else. This appears to be a waste to me. If we know that no jobs affect the mask after the clear, we shouldn't even allocate render task space for it, and consider the mask to be opaque.
  2. If we are re-using any picture cache tiles, we still appear to run the tasks for preparing to them. It means copying huge images in this case, which aren't used anywhere. This probably doesn't affect the target case, but may likely affect all the other websites, where picture caching actually helps. You can see the menu in the screenshot I attached, where the list of operations on a target is only Clear, Draw, Discard. There is no sampling.
  3. Plane splits drawing everything in alpha pass, even though technically this is all opaque. We are wasting fill-rate on this. Bug 1597324.

Nical, any thoughts on that render task graph behavior? Maybe it's expected at the moment?
The (1) and (2) look like a bunch of juicy low hanging fruits to me :)

Depends on: 1597324
Flags: needinfo?(nical.bugzilla)
Attached image wr-extra-work.png

RenderDoc capture showing wasted work

As requested in comment #12 - using "Firefox Graphics" with all include boxes checked.

https://share.firefox.dev/3vtaCKZ

Flags: needinfo?(rogerfgay)

(In reply to Dzmitry Malyshau [:kvark] from comment #13)

  1. Some of the alpha targets only do the "clear" job and nothing else. This appears to be a waste to me. If we know that no jobs affect the mask after the clear, we shouldn't even allocate render task space for it, and consider the mask to be opaque.

I don't know the masking logic that well but I agree with you in principle.

  1. If we are re-using any picture cache tiles, we still appear to run the tasks for preparing to them. It means copying huge images in this case, which aren't used anywhere. This probably doesn't affect the target case, but may likely affect all the other websites, where picture caching actually helps. You can see the menu in the screenshot I attached, where the list of operations on a target is only Clear, Draw, Discard. There is no sampling.

This is probably because of https://searchfox.org/mozilla-central/rev/49e0a928390a8013a4eb08b7b3bbff025f01913a/gfx/wr/webrender/src/picture.rs#4867 only culling tiles that are fixed position. This limitation was introduced in https://phabricator.services.mozilla.com/D69760
I think that we could do a better job here of retaining valid tiles without doing unnecessary rendering. I'm not sure how low this fruit is hanging but I think it's worth spending some time on anyway.

Blocks: wr-gpu-time
Flags: needinfo?(nical.bugzilla)

(In reply to rogerfgay from comment #15)

As requested in comment #12 - using "Firefox Graphics" with all include boxes checked.

https://share.firefox.dev/3vtaCKZ

Thanks. The profile looks reasonable on most thread except for long-ish time spent in present calls on the renderer, which usually indicate that we gpu-bound. The avenues for improvements identified by Dzmitry would help here.

Depends on: 1709941

Has this gone south? It's status is now UNCONFIRMED even though it's confirmed?
I'm confused. :)

Flags: needinfo?(jmathies)
Status: UNCONFIRMED → NEW
Ever confirmed: true

Is this still alive?
I'm still seeing the problem in the nightly build.

The bug now depends on bug 1597324 and bug 1709941, which we'll get to, eventually. It's not forgotten, just needs engineering resources to tackle.

Flags: needinfo?(jmathies)

Still quite jittery and heavy on GPU use.

Context: I make a css 3d experiment recently to play around css 3d.

It seems I also hit this issue.

Although non of the browsers (chrome, safari, firefox) I tested ever work with the largest model I rendered (13724 faces). (Chrome would just abort the render, leave half backed graphic output, safari will get tab crash) Firefox is the only one with UI hang and repeated GPU process crash. The browser ui would stop rendering completely and renderer process will restart infinitely.

Also the benchmark reveals that Firefox use a lot of time to allocate and unload surfaces and binding vertexes repeatably.

https://profiler.firefox.com/public/07taw9t6zva817w3rp5dw4sxnprnj5gnr349dcr/stack-chart/?globalTrackOrder=0w5&thread=9&v=10

Comment on attachment 9358372 [details]
A html file generated from a obj file that contains 13724 triangle

Sample from above experiment. A plain html that can opened directly (It will crash firefox renderer process, open carefully)

Attachment #9358372 - Attachment description: Sample from above experiment.A html file generated from a obj file that contains 13724 triangle → A html file generated from a obj file that contains 13724 triangle
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: