Closed Bug 1569673 Opened 5 years ago Closed 4 years ago

Enabling WebRender severely impacts vsynctester.com performance

Categories

(Core :: Graphics: WebRender, defect, P3)

70 Branch
x86_64
Linux
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox70 --- affected

People

(Reporter: yalterz, Unassigned)

References

(Blocks 2 open bugs)

Details

https://www.vsynctester.com/ gives smooth 60 FPS without WebRender and very unstable 33-34 FPS with WebRender on a 60 Hz screen. WebRender GitHub issue.

Application Basics

Name: Firefox
Version: 70.0a1
Build ID: 20190723034754
Update Channel: nightly
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
OS: Linux 5.2.1-arch1-1-ARCH
Multiprocess Windows: 1/1 Enabled by default
Remote Processes: 2
Enterprise Policies: Active
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Crash Reports for the Last 3 Days

Nightly Features

Name: Firefox Monitor
Version: 3.0
ID: fxmonitor@mozilla.org

Name: Firefox Screenshots
Version: 39.0.0
ID: screenshots@mozilla.org

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Web Compat
Version: 4.4.0
ID: webcompat@mozilla.org

Name: WebCompat Reporter
Version: 1.1.0
ID: webcompat-reporter@mozilla.org

Remote Processes

Type: Web Content
Count: 1 / 8

Type: Extension
Count: 1

Extensions

Name: Amazon.com
Version: 1.1
Enabled: true
ID: amazondotcom@search.mozilla.org

Name: Bing
Version: 1.0
Enabled: true
ID: bing@search.mozilla.org

Name: DuckDuckGo
Version: 1.0
Enabled: true
ID: ddg@search.mozilla.org

Name: eBay
Version: 1.0
Enabled: true
ID: ebay@search.mozilla.org

Name: Google
Version: 1.0
Enabled: true
ID: google@search.mozilla.org

Name: HTTPS Everywhere
Version: 2019.6.27
Enabled: true
ID: https-everywhere@eff.org

Name: KeePassXC-Browser
Version: 1.4.6
Enabled: true
ID: keepassxc-browser@keepassxc.org

Name: Privacy Badger
Version: 2019.7.1.1
Enabled: true
ID: jid1-MnnxcxisBPnSXQ@jetpack

Name: Stylus
Version: 1.5.4
Enabled: true
ID: {7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}

Name: Tampermonkey
Version: 4.9.5941
Enabled: true
ID: firefox@tampermonkey.net

Name: Tree Style Tab
Version: 3.1.5
Enabled: true
ID: treestyletab@piro.sakura.ne.jp

Name: Twitter
Version: 1.0
Enabled: true
ID: twitter@search.mozilla.org

Name: uBlock Origin
Version: 1.20.2
Enabled: true
ID: uBlock0@raymondhill.net

Name: Vimium
Version: 1.64.6
Enabled: true
ID: {d7742d87-e61d-4b78-b8a1-b469842139fa}

Name: Wikipedia (en)
Version: 1.0
Enabled: true
ID: wikipedia@search.mozilla.org

Name: Wikiwand: Wikipedia Modernized
Version: 5.0.2
Enabled: true
ID: jid1-D7momAzRw417Ag@jetpack

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: Mesa Project EGL_VERSION: 1.4 EGL_EXTENSIONS: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image EGL_EXTENSIONS(nullptr): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_wayland EGL_EXT_platform_x11 EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless
WebGL 1 Driver Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)
WebGL 1 Driver Version: OpenGL ES 3.2 Mesa 19.1.2
WebGL 1 Driver Extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D 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_half_float GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_NV_conditional_render GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_OES_viewport_array GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_occlusion_query_boolean GL_EXT_robustness GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_ANDROID_extension_pack_es31a GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_render_snorm GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_cube_map_array GL_EXT_texture_norm16 GL_EXT_texture_view GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_NV_image_formats GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_gpu_shader5 GL_OES_primitive_bounding_box GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_blend_func_extended GL_EXT_buffer_storage GL_EXT_float_blend GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_shader_samples_identical GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_NV_fragment_shader_interlock GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_clip_cull_distance GL_EXT_disjoint_timer_query GL_EXT_texture_compression_s3tc_srgb GL_MESA_shader_integer_functions GL_EXT_texture_compression_bptc GL_KHR_parallel_shader_compile GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_texture_sRGB_R8 GL_MESA_framebuffer_flip_y GL_NV_compute_shader_derivatives GL_EXT_depth_clamp GL_EXT_texture_query_lod
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_disjoint_timer_query EXT_float_blend EXT_sRGB EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic 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_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_lose_context
WebGL 2 Driver WSI Info: EGL_VENDOR: Mesa Project EGL_VERSION: 1.4 EGL_EXTENSIONS: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image EGL_EXTENSIONS(nullptr): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_wayland EGL_EXT_platform_x11 EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless
WebGL 2 Driver Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)
WebGL 2 Driver Version: OpenGL ES 3.2 Mesa 19.1.2
WebGL 2 Driver Extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D 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_half_float GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_NV_conditional_render GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_OES_viewport_array GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_occlusion_query_boolean GL_EXT_robustness GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_ANDROID_extension_pack_es31a GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_render_snorm GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_cube_map_array GL_EXT_texture_norm16 GL_EXT_texture_view GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_NV_image_formats GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_gpu_shader5 GL_OES_primitive_bounding_box GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_blend_func_extended GL_EXT_buffer_storage GL_EXT_float_blend GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_shader_samples_identical GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_NV_fragment_shader_interlock GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_clip_cull_distance GL_EXT_disjoint_timer_query GL_EXT_texture_compression_s3tc_srgb GL_MESA_shader_integer_functions GL_EXT_texture_compression_bptc GL_KHR_parallel_shader_compile GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_texture_sRGB_R8 GL_MESA_framebuffer_flip_y GL_NV_compute_shader_derivatives GL_EXT_depth_clamp GL_EXT_texture_query_lod
WebGL 2 Extensions: EXT_color_buffer_float EXT_disjoint_timer_query EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic OES_texture_float_linear WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Window Protocol: wayland
Off Main Thread Painting Enabled: true
Off Main Thread Painting Worker Count: 4
Target Frame Rate: 60
GPU #1
Active: Yes
Description: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)
Vendor ID: 0x8086
Device ID: 0x3e9b
Driver Vendor: mesa/i965
Driver Version: 19.1.2.0
RAM: 3072MB

Diagnostics
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
CairoUseXRender: 0
Device Reset: Trigger Device Reset
Decision Log
GPU_PROCESS:
blocked by runtime: Wayland does not work in the GPU process
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
available by user: Force enabled by pref
WEBRENDER_QUALIFIED:
blocked-screen-too-large by env: Screen size too large

Media

Audio Backend: remote
Max Channels: 2
Preferred Sample Rate: 44100
Output Devices
Name: Group
Built-in Audio Analog Stereo: /devices/pci0000:00/0000:00:1f.3/sound/card0
USB Audio Line Out: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5/1-5.5:1.0/sound/card1
USB Audio Headphone: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5/1-5.5:1.0/sound/card1
Input Devices
Name: Group
Monitor of Built-in Audio Analog Stereo: /devices/pci0000:00/0000:00:1f.3/sound/card0
Built-in Audio Analog Stereo: /devices/pci0000:00/0000:00:1f.3/sound/card0
Monitor of USB Audio Line Out: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5/1-5.5:1.0/sound/card1
Monitor of USB Audio Headphone: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5/1-5.5:1.0/sound/card1
USB Audio Microphone: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5/1-5.5:1.0/sound/card1

Important Modified Preferences

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.amount_written: 32117
browser.cache.disk.capacity: 1048576
browser.cache.disk.filesystem_reported: 1
browser.sessionstore.upgradeBackup.latestBuildID: 20190723034754
browser.startup.homepage_override.buildID: 20190723034754
browser.startup.homepage_override.mstone: 70.0a1
browser.urlbar.matchBuckets: general:5,suggestion:Infinity
browser.urlbar.placeholderName: DuckDuckGo
browser.urlbar.suggest.searches: false
dom.forms.autocomplete.formautofill: true
dom.push.userAgentID: 6245f4be61b84d088e2f3b0465eec139
extensions.lastAppVersion: 70.0a1
general.autoScroll: true
gfx.webrender.all: true
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1563906018
media.gmp-gmpopenh264.version: 1.8.1
media.gmp-manager.buildID: 20190723034754
media.gmp-manager.lastCheck: 1563906018
media.gmp.storage.version.observed: 1
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.predictor.enabled: false
network.prefetch-next: false
places.history.expiration.transient_current_max_pages: 129989
plugin.disable_full_page_plugin_for_types: application/pdf
privacy.donottrackheader.enabled: true
privacy.sanitize.pending: [{"id":"newtab-container","itemsToClear":[],"options":{}}]
privacy.trackingprotection.enabled: true
privacy.userContext.extension: treestyletab@piro.sakura.ne.jp
security.remote_settings.crlite_filters.checked: 1563906292
security.remote_settings.intermediates.checked: 1563906292
security.sandbox.content.tempDirSuffix: c01366c6-1f4d-429b-b8d1-eee06920e087
security.sandbox.plugin.tempDirSuffix: fd1fad70-87dc-41c1-b55b-78725b74d1e7
services.sync.declinedEngines:
services.sync.engine.addresses.available: true
services.sync.engine.bookmarks.validation.lastTime: 1563905989
services.sync.engine.passwords.validation.lastTime: 1563905989
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1563905953
services.sync.lastSync: Tue Jul 23 2019 11:25:36 GMT-0700 (Pacific Daylight Time)
signon.importedFromSqlite: true
signon.rememberSignons: false

Important Locked Preferences

Places Database

JavaScript

Incremental GC: true

Accessibility

Activated: false
Prevent Accessibility: 0

Library Versions

NSPR
Expected minimum version: 4.22 Beta
Version in use: 4.22 Beta

NSS
Expected minimum version: 3.46 Beta
Version in use: 3.46 Beta

NSSSMIME
Expected minimum version: 3.46 Beta
Version in use: 3.46 Beta

NSSSSL
Expected minimum version: 3.46 Beta
Version in use: 3.46 Beta

NSSUTIL
Expected minimum version: 3.46 Beta
Version in use: 3.46 Beta

Sandbox

Seccomp-BPF (System Call Filtering): true
Seccomp Thread Synchronization: true
User Namespaces: true
Content Process Sandboxing: true
Media Plugin Sandboxing: true
Content Process Sandbox Level: 4
Effective Content Process Sandbox Level: 4

Rejected System Calls

Internationalization & Localization

Application Settings
Requested Locales: ["en-US"]
Available Locales: ["en-US"]
App Locales: ["en-US"]
Regional Preferences: ["en-US"]
Default Locale: "en-US"
Operating System
System Locales: ["en-US"]
Regional Preferences: ["en-US"]

Blocks: wr-perf, wr-intel
Priority: -- → P3
Blocks: wr-linux
No longer blocks: wr-intel
Depends on: 1629140

This does not sound vsync related, but instead sound similar to the issue briefly mentioned in https://bugzilla.mozilla.org/show_bug.cgi?id=1542808#c11:

Test performed without webrender, as the test moves an enourmous texture along a canvas in the background which stalls webrender quite a bit.

WebRender has improved its performance with this test since then, and considering that OP no longer can reproduce (and no longer has the original hardware), I'd suggest closing.

Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
No longer depends on: 1629140
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.