Open Bug 1836790 Opened 11 months ago Updated 5 days ago

AV1 8K 60fps decoding low performance with intel 11gen xe graphics card

Categories

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

Firefox 113
defect

Tracking

()

UNCONFIRMED

People

(Reporter: 313432541, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

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

Steps to reproduce:

environment:
intel nuc11
cpu: i5 1135g7
windows 10 21H2
AV1 video extension 1.1.52851.0

Playing AV1 8K 60fps online video: https://www.youtube.com/watch?v=zCLOJ9j1k2Y
Or download it locally and open it with Firefox

Actual results:

Firefox's GPU video decode usage is same as chrome, but Firefox visually drop frames
(no need to care Youtube webpage "stats for nerds", because it differs from human vision)

Expected results:

Playing AV1 8K 60fps video drop less frames with GPU supports hardware decode

The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics
Product: Firefox → Core

playing 4k youtube online videos in fullscreen also drop frames

(In reply to 313432541 from comment #2)

playing 4k youtube online videos in fullscreen also drop frames
sample:
https://www.youtube.com/watch?v=pjD0UT-Bfok

Could also you please attach your about:support output to this report? I will update the priority/severity when that has been reviewed.

Severity: -- → S3
Component: Graphics → Graphics: WebRender
Priority: -- → P2

{
"securitySoftware": {
"registeredAntiVirus": "",
"registeredAntiSpyware": "",
"registeredFirewall": ""
},
"environmentVariables": {
"MOZ_CRASHREPORTER_DATA_DIRECTORY": "C:\Users\aa\AppData\Roaming\Mozilla\Firefox\Crash Reports",
"MOZ_CRASHREPORTER_EVENTS_DIRECTORY": "C:\Users\aa\AppData\Roaming\Mozilla\Firefox\Profiles\yy4i5t59.default-release\crashes\events",
"MOZ_CRASHREPORTER_PING_DIRECTORY": "C:\Users\aa\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"
},
"modifiedPreferences": {
"accessibility.typeaheadfind.flashBar": 0,
"browser.contentblocking.category": "standard",
"browser.search.region": "CN",
"browser.search.suggest.enabled.private": true,
"browser.sessionstore.upgradeBackup.latestBuildID": "20230619081400",
"browser.startup.homepage_override.buildID": "20230619081400",
"browser.startup.homepage_override.mstone": "114.0.2",
"browser.startup.homepage": "about:debugging#/runtime/this-firefox",
"browser.tabs.firefox-view": false,
"browser.tabs.firefox-view.ui-state.tab-pickup.open": true,
"browser.urlbar.quicksuggest.migrationVersion": 2,
"browser.urlbar.placeholderName": "Google",
"browser.urlbar.quicksuggest.scenario": "history",
"browser.urlbar.placeholderName.private": "Google",
"doh-rollout.home-region": "CN",
"doh-rollout.balrog-migration-done": true,
"doh-rollout.disable-heuristics": true,
"doh-rollout.doneFirstRun": true,
"extensions.lastAppVersion": "114.0.2",
"general.autoScroll": false,
"idle.lastDailyNotification": 1686133977,
"media.gmp-gmpopenh264.lastUpdate": 1680849108,
"media.gmp-manager.buildID": "20230608214645",
"media.gmp-gmpopenh264.lastDownloadFailReason": "[Exception... "File download failed" nsresult: "0x1f7 (<unknown>)" location: "JS frame :: resource://gre/modules/addons/ProductAddonChecker.jsm :: downloadFile/</sr.onload :: line 424" data: no]",
"media.gmp-gmpopenh264.version": "1.8.1.2",
"media.gmp-manager.lastCheck": 1686567643,
"media.gmp-widevinecdm.version": "4.10.2557.0",
"media.gmp-gmpopenh264.abi": "x86_64-msvc-x64",
"media.gmp-gmpopenh264.hashValue": "06511f1f6c6d44d076b3c593528c26a602348d9c41689dbf5ff716b671c3ca5756b12cb2e5869f836dedce27b1a5cfe79b93c707fd01f8e84b620923bb61b5f1",
"media.gmp-widevinecdm.hashValue": "b046dd1b26ec0b810ee441b7ad4dc135e3f1521a817b9f3db60a32976352e8f7e53920e1a77fc5b4130aac260d79deef7e823267b4414e9cc774d8bffca56a72",
"media.gmp-widevinecdm.abi": "x86_64-msvc-x64",
"media.autoplay.default": 0,
"media.gmp-gmpopenh264.lastDownload": 1680849108,
"media.gmp-gmpopenh264.lastDownloadFailed": 1661567159,
"media.gmp-gmpopenh264.lastInstallStart": 1680849108,
"media.gmp-manager.lastEmptyCheck": 1686567643,
"media.gmp-widevinecdm.lastDownload": 1679563776,
"media.gmp-widevinecdm.lastInstallStart": 1679563774,
"media.gmp-widevinecdm.lastUpdate": 1679563776,
"media.gmp.storage.version.observed": 1,
"media.hardware-video-decoding.failed": false,
"media.videocontrols.picture-in-picture.video-toggle.enabled": false,
"media.videocontrols.picture-in-picture.video-toggle.has-used": true,
"network.dns.disablePrefetch": true,
"network.http.speculative-parallel-limit": 0,
"network.predictor.enabled": false,
"network.prefetch-next": false,
"network.trr.mode": 5,
"network.trr.uri": "https://firefox.dns.nextdns.io/",
"places.database.lastMaintenance": 1685972871,
"privacy.purge_trackers.last_purge": "1686133982911",
"privacy.purge_trackers.date_in_cookie_database": "0",
"privacy.sanitize.pending": "[{"id":"newtab-container","itemsToClear":[],"options":{}}]",
"security.sandbox.content.tempDirSuffix": "{28ea934b-a687-4683-a72c-b36a49f5e257}",
"services.sync.declinedEngines": "",
"services.sync.lastPing": 1689009662,
"services.sync.lastSync": "Tue Jul 11 2023 01:21:03 GMT+0800 (中国标准时间)",
"services.sync.engine.creditcards": true,
"services.sync.engine.prefs.modified": false,
"signon.suggestImportCount": 0,
"storage.vacuum.last.places.sqlite": 1684232711,
"storage.vacuum.last.index": 1,
"ui.osk.enabled": false,
"ui.osk.debug.keyboardDisplayReason": "IKPOS: Touch screen not found."
},
"lockedPreferences": {
"fission.autostart.session": true
},
"printingPreferences": {},
"media": {
"currentAudioBackend": "wasapi",
"currentMaxAudioChannels": 2,
"currentPreferredSampleRate": 48000,
"audioOutputDevices": [
{
"name": "扬声器 (Realtek(R) Audio)",
"groupId": "INTELAUDIO\FUNC_01&VEN_10EC&DEV_0256&SUBSYS_80863004&REV_1000\5&2e5c33d&0&0001",
"vendor": "",
"type": 2,
"state": 2,
"preferred": 5,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 480,
"minLatency": 144
}
],
"audioInputDevices": [
{
"name": "麦克风阵列 (Realtek(R) Audio)",
"groupId": "INTELAUDIO\FUNC_01&VEN_10EC&DEV_0256&SUBSYS_80863004&REV_1000\5&2e5c33d&0&0001",
"vendor": "",
"type": 1,
"state": 2,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 4,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 480,
"minLatency": 48
},
{
"name": "麦克风 (Realtek(R) Audio)",
"groupId": "INTELAUDIO\FUNC_01&VEN_10EC&DEV_0256&SUBSYS_80863004&REV_1000\5&2e5c33d&0&0001",
"vendor": "",
"type": 1,
"state": 2,
"preferred": 5,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 480,
"minLatency": 64
}
],
"codecSupportInfo": "H264 SW\nH264 HW\nVP8 SW\nVP8 HW\nVP9 SW\nVP9 HW\nAV1 SW\nAV1 HW\nTheora SW\nAAC SW\nFLAC SW\nMP3 SW\nOpus SW\nVorbis SW\nWave SW"
},
"accessibility": {
"isActive": false,
"forceDisabled": 0,
"handlerUsed": true,
"instantiator": ""
},
"startupCache": {
"DiskCachePath": "C:\Users\aa\AppData\Local\Mozilla\Firefox\Profiles\yy4i5t59.default-release\startupCache\startupCache.8.little",
"IgnoreDiskCache": false,
"FoundDiskCacheOnInit": true,
"WroteToDiskCache": false
},
"libraryVersions": {
"NSPR": {
"minVersion": "4.35",
"version": "4.35"
},
"NSS": {
"minVersion": "3.89.1",
"version": "3.89.1"
},
"NSSUTIL": {
"minVersion": "3.89.1",
"version": "3.89.1"
},
"NSSSSL": {
"minVersion": "3.89.1",
"version": "3.89.1"
},
"NSSSMIME": {
"minVersion": "3.89.1",
"version": "3.89.1"
}
},
"userJS": {
"exists": false
},
"intl": {
"localeService": {
"requested": [
"zh-CN",
"en-US"
],
"available": [
"en-US",
"zh-CN"
],
"supported": [
"zh-CN",
"en-US"
],
"regionalPrefs": [
"zh-CN"
],
"defaultLocale": "zh-CN"
},
"osPrefs": {
"systemLocales": [
"zh-Hans-CN"
],
"regionalPrefsLocales": [
"zh-CN"
]
}
},
"crashes": {
"submitted": [],
"pending": 0
},
"sandbox": {
"contentSandboxLevel": 6,
"effectiveContentSandboxLevel": 6,
"contentWin32kLockdownState": "Win32k Lockdown enabled -- default value is true",
"supportSandboxGpuLevel": 1
},
"remoteAgent": {
"running": false,
"url": ""
},
"experimentalFeatures": [
[
"experimental-features-abouthome-startup-cache",
"browser.startup.homepage.abouthome_cache.enabled",
false
],
[
"experimental-features-accessibility-cache",
"accessibility.cache.enabled",
true
],
[
"experimental-features-cookie-samesite-none-requires-secure2",
"network.cookie.sameSite.noneRequiresSecure",
false
],
[
"experimental-features-css-masonry2",
"layout.css.grid-template-masonry-value.enabled",
false
],
[
"experimental-features-devtools-compatibility-panel",
"devtools.inspector.compatibility.enabled",
true
],
[
"experimental-features-devtools-serviceworker-debugger-support",
"devtools.debugger.features.windowless-service-workers",
false
],
[
"experimental-features-media-jxl",
"image.jxl.enabled",
false
],
[
"experimental-features-ime-search",
"browser.urlbar.keepPanelOpenDuringImeComposition",
false
],
[
"experimental-features-web-gpu2",
"dom.webgpu.enabled",
false
],
[
"experimental-features-webrtc-global-mute-toggles",
"privacy.webrtc.globalMuteToggles",
false
]
],
"graphics": {
"desktopEnvironment": "",
"numTotalWindows": 1,
"numAcceleratedWindows": 1,
"windowLayerManagerType": "WebRender",
"windowLayerManagerRemote": true,
"graphicsDevicePixelRatios": [
2
],
"adapterDescription": "Intel(R) Iris(R) Xe Graphics",
"adapterVendorID": "0x8086",
"adapterDeviceID": "0x9a49",
"adapterSubsysID": "30048086",
"adapterRAM": 0,
"adapterDrivers": "igdumdim64 igd10iumd64 igd10iumd64 igd12umd64 igdumdim32 igd10iumd32 igd10iumd32 igd12umd32",
"driverVendor": "",
"driverVersion": "30.0.101.1660",
"driverDate": "3-18-2022",
"adapterDescription2": "",
"adapterVendorID2": "",
"adapterDeviceID2": "",
"adapterSubsysID2": "",
"adapterRAM2": 0,
"adapterDrivers2": "",
"driverVendor2": "",
"driverVersion2": "",
"driverDate2": "",
"isGPU2Active": false,
"direct2DEnabled": true,
"directWriteEnabled": true,
"directWriteVersion": "10.0.19041.1566",
"clearTypeParameters": "Gamma: 1.8 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50 ",
"targetFrameRate": 60,
"webgl1Renderer": "Google Inc. (Intel) -- ANGLE (Intel, Intel(R) Iris(R) Xe Graphics Direct3D11 vs_5_0 ps_5_0, D3D11-30.0.101.1660)",
"webgl1Version": "OpenGL ES 2.0.0 (ANGLE 2.1.19734 git hash: 23347851217a)",
"webgl1DriverExtensions": "GL_AMD_performance_monitor GL_ANGLE_base_vertex_base_instance GL_ANGLE_base_vertex_base_instance_shader_builtin GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string 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_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_base_instance GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_clip_control GL_EXT_color_buffer_half_float GL_EXT_debug_label 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_multi_draw_indirect 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_texture_type_2_10_10_10_REV 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_framebuffer_blit 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 ",
"webgl1Extensions": "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_provoking_vertex",
"webgl1WSIInfo": "EGL_VENDOR: Google Inc. (Intel)\nEGL_VERSION: 1.5 (ANGLE 2.1.19734 git hash: 23347851217a)\nEGL_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_ANGLE_windows_ui_composition EGL_NV_post_sub_buffer EGL_KHR_create_context 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_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_no_config_context EGL_KHR_create_context_no_error EGL_KHR_reusable_sync \nEGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_device_query EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_platform_angle_d3d11on12 EGL_ANGLE_platform_angle_device_id 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_feature_control \nIsWebglOutOfProcessEnabled: 1",
"webgl2Renderer": "Google Inc. (Intel) -- ANGLE (Intel, Intel(R) Iris(R) Xe Graphics Direct3D11 vs_5_0 ps_5_0, D3D11-30.0.101.1660)",
"webgl2Version": "OpenGL ES 3.0.0 (ANGLE 2.1.19734 git hash: 23347851217a)",
"webgl2DriverExtensions": "GL_AMD_performance_monitor GL_ANGLE_base_vertex_base_instance GL_ANGLE_base_vertex_base_instance_shader_builtin GL_ANGLE_client_arrays GL_ANGLE_copy_texture_3d GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string 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_base_instance GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_clip_control GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_label 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_multi_draw_indirect 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_texture_type_2_10_10_10_REV 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_framebuffer_blit 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 ",
"webgl2Extensions": "EXT_color_buffer_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_draw_buffers_indexed 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 WEBGL_provoking_vertex",
"webgl2WSIInfo": "EGL_VENDOR: Google Inc. (Intel)\nEGL_VERSION: 1.5 (ANGLE 2.1.19734 git hash: 23347851217a)\nEGL_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_ANGLE_windows_ui_composition EGL_NV_post_sub_buffer EGL_KHR_create_context 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_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_no_config_context EGL_KHR_create_context_no_error EGL_KHR_reusable_sync \nEGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_device_query EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_platform_angle_d3d11on12 EGL_ANGLE_platform_angle_device_id 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_feature_control \nIsWebglOutOfProcessEnabled: 1",
"info": {
"AzureCanvasBackend (UI Process)": "skia",
"AzureFallbackCanvasBackend (UI Process)": "skia",
"AzureContentBackend (UI Process)": "skia",
"AzureCanvasBackend": "direct2d 1.1",
"AzureContentBackend": "skia",
"ApzWheelInput": 1,
"ApzDragInput": 1,
"ApzKeyboardInput": 1,
"ApzAutoscrollInput": 1,
"ApzZoomingInput": 1,
"CMSOutputProfile": "AAACXAAAAAAEMAAAbW50clJHQiBYWVogB+EABgAUAAAAAAAAYWNzcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1DSUdMh3gnQPPj0XhGTXBn6aJx6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALY3BydAAAAQgAAABkZGVzYwAAAWwAAAAwd3RwdAAAAZwAAAAUY2hhZAAAAbAAAAAsclRSQwAAAdwAAAAQZ1RSQwAAAewAAAAQYlRSQwAAAfwAAAAQclhZWgAAAgwAAAAUZ1hZWgAAAiAAAAAUYlhZWgAAAjQAAAAUbHVtaQAAAkgAAAAUbWx1YwAAAAAAAAABAAAADGVuVUsAAABIAAAAHABJAG4AdABlAHIAbgBhAHQAaQBvAG4AYQBsACAAQwBvAGwAbwByACAAQwBvAG4AcwBvAHIAdABpAHUAbQAsACAAMgAwADEAN21sdWMAAAAAAAAAAQAAAAxlblVLAAAAFAAAABwARABDAEkAIABQADMAIABEADYANVhZWiAAAAAAAAD21QABAAAAANMtc2YzMgAAAAAAAQxEAAAF3///8yYAAAeUAAD9j///+6H///2iAAAD2wAAwHVjdXJ2AAAAAAAAAAECmgAAY3VydgAAAAAAAAABApoAAGN1cnYAAAAAAAAAAQKaAABYWVogAAAAAAAAg98AAD2/////u1hZWiAAAAAAAABKvwAAsTcAAAq5WFlaIAAAAAAAACg4AAARCwAAyLlYWVogAAAAAAAAAAAAMAAAAAAAAA==",
"DisplayCount": 1,
"Display0": "5120x2880@60Hz scales:1.000000|2.000000",
"HardwareStretching": "both=1 window-only=0 full-screen-only=0 none=0 error=0",
"OverlaySupport": "NV12=Scaling YUV2=Scaling BGRA8=Software RGB10A2=None",
"SwapChainTearingSupport": "Supported"
},
"featureLog": {
"features": [
{
"name": "HW_COMPOSITING",
"description": "Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "D3D11_COMPOSITING",
"description": "Direct3D11 Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DIRECT2D",
"description": "Direct2D",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "D3D11_HW_ANGLE",
"description": "Direct3D11 hardware ANGLE",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "GPU_PROCESS",
"description": "GPU Process",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER",
"description": "WebRender",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_COMPOSITOR",
"description": "WebRender native compositor",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_PARTIAL",
"description": "WebRender partial present",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_SHADER_CACHE",
"description": "WebRender shader disk cache",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_OPTIMIZED_SHADERS",
"description": "WebRender optimized shaders",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_ANGLE",
"description": "WebRender ANGLE",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_DCOMP_PRESENT",
"description": "WebRender DirectComposition",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_SCISSORED_CACHE_CLEARS",
"description": "WebRender scissored cache clears",
"status": "blocklisted",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocklisted",
"failureId": "FEATURE_FAILURE_BUG_1603515",
"message": "Blocklisted by gfxInfo"
}
]
},
{
"name": "WEBGPU",
"description": "WebGPU",
"status": "blocked",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "runtime",
"status": "blocked",
"failureId": "WEBGPU_DISABLE_RELEASE_OR_BETA",
"message": "WebGPU cannot be enabled in release or beta"
}
]
},
{
"name": "WINDOW_OCCLUSION",
"description": "WINDOW_OCCLUSION",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "VIDEO_OVERLAY",
"description": "video overlay",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "HW_DECODED_VIDEO_ZERO_COPY",
"description": "Hardware decoded video zero copy",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "VP8_HW_DECODE",
"description": "VP8 hardware decoding",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "VP9_HW_DECODE",
"description": "VP9 hardware decoding",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "REUSE_DECODER_DEVICE",
"description": "Reuse decoder device",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "BACKDROP_FILTER",
"description": "Backdrop filter",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "CANVAS_RENDERER_THREAD",
"description": "canvas renderer thread",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "ACCELERATED_CANVAS2D",
"description": "Accelerated Canvas2D",
"status": "disabled",
"log": [
{
"type": "default",
"status": "disabled",
"failureId": "FEATURE_FAILURE_DISABLED",
"message": "Disabled by default"
}
]
}
],
"fallbacks": []
},
"crashGuards": [],
"webgpuDefaultAdapter": {
"navigator.gpu": null
},
"webgpuFallbackAdapter": {
"navigator.gpu": null
}
},
"addons": [
{
"name": "English (US) Dictionary",
"type": "dictionary",
"version": "111.20230126",
"isActive": true,
"id": "en-US-mozilla@dictionaries.addons.mozilla.org"
},
{
"name": "百度",
"type": "extension",
"version": "1.3",
"isActive": true,
"id": "baidu@search.mozilla.org"
},
{
"name": "维基百科",
"type": "extension",
"version": "1.3",
"isActive": true,
"id": "wikipedia@search.mozilla.org"
},
{
"name": "亚马逊",
"type": "extension",
"version": "1.2",
"isActive": true,
"id": "amazondotcn@search.mozilla.org"
},
{
"name": "Add-ons Search Detection",
"type": "extension",
"version": "2.0.0",
"isActive": true,
"id": "addons-search-detection@mozilla.com"
},
{
"name": "Bing",
"type": "extension",
"version": "1.5",
"isActive": true,
"id": "bing@search.mozilla.org"
},
{
"name": "DuckDuckGo",
"type": "extension",
"version": "1.4",
"isActive": true,
"id": "ddg@search.mozilla.org"
},
{
"name": "Google",
"type": "extension",
"version": "1.4",
"isActive": true,
"id": "google@search.mozilla.org"
},
{
"name": "Google按图搜索",
"type": "extension",
"version": "1.7",
"isActive": true,
"id": "{1d6267dd-4b37-459a-84da-a5d2580daa6a}"
},
{
"name": "Proxy SwitchyOmega",
"type": "extension",
"version": "2.5.20",
"isActive": true,
"id": "switchyomega@feliscatus.addons.mozilla.org"
},
{
"name": "TWP - Translate Web Pages",
"type": "extension",
"version": "9.8.1.0",
"isActive": true,
"id": "{036a55b4-5e72-4d05-a06c-cba2dfcc134a}"
},
{
"name": "uBlock Origin",
"type": "extension",
"version": "1.50.0",
"isActive": true,
"id": "uBlock0@raymondhill.net"
},
{
"name": "Language: English (US)",
"type": "locale",
"version": "114.0.20230619.81400",
"isActive": true,
"id": "langpack-en-US@firefox.mozilla.org"
},
{
"name": "Adblock Plus - 免费的广告拦截器",
"type": "extension",
"version": "3.17.1",
"isActive": false,
"id": "{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}"
},
{
"name": "IDM Integration Module",
"type": "extension",
"version": "6.41.12",
"isActive": false,
"id": "mozilla_cc3@internetdownloadmanager.com"
}
],
"features": [
{
"name": "Add-ons Restricted Domains",
"version": "1.0.0buildid20230525.154501",
"id": "addons-restricted-domains@mozilla.com"
},
{
"name": "Firefox Screenshots",
"version": "39.0.1",
"id": "screenshots@mozilla.org"
},
{
"name": "Form Autofill",
"version": "1.0.1",
"id": "formautofill@mozilla.org"
},
{
"name": "Picture-In-Picture",
"version": "1.0.0",
"id": "pictureinpicture@mozilla.org"
},
{
"name": "Web Compatibility Interventions",
"version": "114.0.0",
"id": "webcompat@mozilla.org"
},
{
"name": "WebCompat Reporter",
"version": "1.5.1",
"id": "webcompat-reporter@mozilla.org"
}
],
"application": {
"name": "Firefox",
"osVersion": "Windows_NT 10.0 19044",
"version": "114.0.2",
"buildID": "20230619081400",
"distributionID": "",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0",
"safeMode": false,
"memorySizeBytes": 16775204864,
"diskAvailableBytes": 31692472320,
"updateChannel": "release",
"supportURL": "https://support.mozilla.org/1/firefox/114.0.2/WINNT/zh-CN/",
"osTheme": "",
"numTotalWindows": 1,
"numFissionWindows": 1,
"numRemoteWindows": 1,
"launcherProcessState": 0,
"fissionAutoStart": true,
"fissionDecisionStatus": "enabledByDefault",
"remoteAutoStart": true,
"policiesStatus": 0,
"keyLocationServiceGoogleFound": true,
"keySafebrowsingGoogleFound": true,
"keyMozillaFound": true
},
"processes": {
"remoteTypes": {
"prealloc": 3,
"utility": 2,
"webIsolated": 2,
"webServiceWorker": 1,
"extension": 1,
"privilegedabout": 1,
"gpu": 1,
"rdd": 1,
"socket": 1
},
"maxWebContentProcesses": 8
},
"normandy": {
"addonStudies": [],
"prefRollouts": [
{
"slug": "bug-1802286-rollout-fix-webcompat-shim-breakage-release-103-107",
"state": "active",
"preferences": [
{
"preferenceName": "extensions.webcompat.disabled_shims.AdvertisingDotCom",
"value": true,
"previousValue": null
}
],
"enrollmentId": "4b42c739-57a1-4f1a-895d-66d06a912edd"
}
],
"prefStudies": [],
"nimbusExperiments": [
{
"slug": "next-generation-accessibility-engine-powering-screen-readers-and-other-ats-copy",
"branch": {
"slug": "treatment-a",
"ratio": 1,
"feature": {
"value": {},
"enabled": false,
"featureId": "this-is-included-for-desktop-pre-95-support"
},
"features": [
{
"value": {
"enabled": true
},
"enabled": true,
"featureId": "accessibilityCache"
}
]
},
"active": true,
"enrollmentId": "ad5b3107-342c-464f-af64-bd01433319a7",
"experimentType": "nimbus",
"source": "rs-loader",
"userFacingName": "A next generation accessibility engine powering screen readers and other ATs",
"userFacingDescription": "Evaluating a major re-architecture of Firefox's accessibility engine to improve performance of screen readers and other assistive technologies.",
"lastSeen": "2023-03-23T09:08:32.065Z",
"featureIds": [
"accessibilityCache"
],
"prefs": [
{
"name": "accessibility.cache.enabled",
"branch": "user",
"featureId": "accessibilityCache",
"variable": "enabled",
"originalValue": null
}
],
"isRollout": false
}
],
"nimbusRollouts": [
{
"slug": "firefox-accounts-toolbar-button-badge",
"branch": {
"slug": "control",
"ratio": 1,
"feature": {
"value": {},
"enabled": false,
"featureId": "this-is-included-for-desktop-pre-95-support"
},
"features": [
{
"value": {
"id": "FXA_ACCOUNTS_BADGE",
"content": {
"delay": 10000,
"target": "fxa-toolbar-menu-button"
},
"trigger": {
"id": "toolbarBadgeUpdate"
},
"template": "toolbar_badge",
"targeting": "'nimbus.syncdatastore.fxaButtonVisibility'|preferenceValue|regExpMatch('treatment-b') && !hasAccessedFxAPanel && !usesFirefoxSync && isFxAEnabled == true"
},
"enabled": true,
"featureId": "moments-page"
}
]
},
"active": true,
"enrollmentId": "0c0e053e-e31f-4487-a15a-655e9c8f79fd",
"experimentType": "rollout",
"source": "rs-loader",
"userFacingName": "Firefox Accounts toolbar button badge",
"userFacingDescription": "This experiment measures the impact of showing the Firefox Accounts toolbar button by default for signed-out users.",
"lastSeen": "2023-05-31T16:31:09.837Z",
"featureIds": [
"moments-page"
],
"prefs": [],
"isRollout": true
},
{
"slug": "new-import-interface-firefox-114-existing-users-rollout",
"branch": {
"slug": "control-rollout",
"ratio": 1,
"feature": {
"value": {},
"enabled": false,
"featureId": "this-is-included-for-desktop-pre-95-support"
},
"features": [
{
"value": {
"useNewWizard": true,
"showImportAll": true,
"showPreferencesEntrypoint": true
},
"enabled": true,
"featureId": "migrationWizard"
}
]
},
"active": true,
"enrollmentId": "080486d3-fab8-4ac9-a621-ed38724b61e3",
"experimentType": "rollout",
"source": "rs-loader",
"userFacingName": "New Import Interface: Firefox 114 (existing users) rollout - 5%",
"userFacingDescription": "New data import interface rollout: gradually exposing users to the new and improved import interface.",
"lastSeen": "2023-07-10T17:20:58.243Z",
"featureIds": [
"migrationWizard"
],
"prefs": [
{
"name": "browser.migrate.content-modal.enabled",
"branch": "user",
"featureId": "migrationWizard",
"variable": "useNewWizard",
"originalValue": null
},
{
"name": "browser.migrate.content-modal.import-all.enabled",
"branch": "user",
"featureId": "migrationWizard",
"variable": "showImportAll",
"originalValue": null
},
{
"name": "browser.migrate.preferences-entrypoint.enabled",
"branch": "user",
"featureId": "migrationWizard",
"variable": "showPreferencesEntrypoint",
"originalValue": null
}
],
"isRollout": true
},
{
"slug": "next-generation-accessibility-engine-powering-screen-readers",
"branch": {
"slug": "treatment-a",
"ratio": 1,
"feature": {
"value": {},
"enabled": false,
"featureId": "this-is-included-for-desktop-pre-95-support"
},
"features": [
{
"value": {
"enabled": true
},
"enabled": true,
"featureId": "accessibilityCache"
}
]
},
"active": true,
"enrollmentId": "0e09196c-d929-4beb-b91b-5d0c7677b70f",
"experimentType": "rollout",
"source": "rs-loader",
"userFacingName": "Next generation accessibility engine powering screen readers",
"userFacingDescription": "Evaluating a major re-architecture of Firefox's accessibility engine to improve performance of screen readers and other assistive technologies.",
"lastSeen": "2023-04-27T15:29:47.305Z",
"featureIds": [
"accessibilityCache"
],
"prefs": [
{
"name": "accessibility.cache.enabled",
"branch": "user",
"featureId": "accessibilityCache",
"variable": "enabled",
"originalValue": null
}
],
"isRollout": true
}
]
},
"places": [
{
"efficiencyPerc": 22.7,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_schema",
"count": "-"
},
{
"efficiencyPerc": 67.7,
"pages": 4,
"sizeBytes": 131072,
"sizePerc": 1.4,
"sequentialityPerc": 42,
"entity": "moz_origins",
"count": 2323
},
{
"efficiencyPerc": 57.9,
"pages": 4,
"sizeBytes": 131072,
"sizePerc": 1.4,
"sequentialityPerc": 42,
"entity": "sqlite_autoindex_moz_origins_1",
"count": "-"
},
{
"efficiencyPerc": 86.4,
"pages": 132,
"sizeBytes": 4325376,
"sizePerc": 44.9,
"sequentialityPerc": 42,
"entity": "moz_places",
"count": 21207
},
{
"efficiencyPerc": 85,
"pages": 14,
"sizeBytes": 458752,
"sizePerc": 4.8,
"sequentialityPerc": 42,
"entity": "moz_historyvisits",
"count": 16340
},
{
"efficiencyPerc": 4.2,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_inputhistory",
"count": 49
},
{
"efficiencyPerc": 3,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_autoindex_moz_inputhistory_1",
"count": "-"
},
{
"efficiencyPerc": 1,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_bookmarks",
"count": 6
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_bookmarks_deleted",
"count": 0
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_autoindex_moz_bookmarks_deleted_1",
"count": "-"
},
{
"efficiencyPerc": 0.1,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_keywords",
"count": 2
},
{
"efficiencyPerc": 0.1,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_autoindex_moz_keywords_1",
"count": "-"
},
{
"efficiencyPerc": 0.1,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_sequence",
"count": "-"
},
{
"efficiencyPerc": 0.3,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_anno_attributes",
"count": 3
},
{
"efficiencyPerc": 0.3,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_autoindex_moz_anno_attributes_1",
"count": "-"
},
{
"efficiencyPerc": 3.9,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_annos",
"count": 13
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_items_annos",
"count": 0
},
{
"efficiencyPerc": 1.4,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_meta",
"count": 8
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_places_metadata",
"count": 0
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_places_metadata_search_queries",
"count": 0
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_autoindex_moz_places_metadata_search_queries_1",
"count": "-"
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_previews_tombstones",
"count": 0
},
{
"efficiencyPerc": 3.4,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "sqlite_stat1",
"count": "-"
},
{
"efficiencyPerc": 75.6,
"pages": 12,
"sizeBytes": 393216,
"sizePerc": 4.1,
"sequentialityPerc": 42,
"entity": "moz_places_url_hashindex",
"count": "-"
},
{
"efficiencyPerc": 82.6,
"pages": 19,
"sizeBytes": 622592,
"sizePerc": 6.5,
"sequentialityPerc": 42,
"entity": "moz_places_hostindex",
"count": "-"
},
{
"efficiencyPerc": 75.3,
"pages": 7,
"sizeBytes": 229376,
"sizePerc": 2.4,
"sequentialityPerc": 42,
"entity": "moz_places_visitcount",
"count": "-"
},
{
"efficiencyPerc": 69.2,
"pages": 8,
"sizeBytes": 262144,
"sizePerc": 2.7,
"sequentialityPerc": 42,
"entity": "moz_places_frecencyindex",
"count": "-"
},
{
"efficiencyPerc": 69.7,
"pages": 11,
"sizeBytes": 360448,
"sizePerc": 3.7,
"sequentialityPerc": 42,
"entity": "moz_places_lastvisitdateindex",
"count": "-"
},
{
"efficiencyPerc": 80.9,
"pages": 16,
"sizeBytes": 524288,
"sizePerc": 5.4,
"sequentialityPerc": 42,
"entity": "moz_places_guid_uniqueindex",
"count": "-"
},
{
"efficiencyPerc": 69,
"pages": 9,
"sizeBytes": 294912,
"sizePerc": 3.1,
"sequentialityPerc": 42,
"entity": "moz_places_originidindex",
"count": "-"
},
{
"efficiencyPerc": 79,
"pages": 12,
"sizeBytes": 393216,
"sizePerc": 4.1,
"sequentialityPerc": 42,
"entity": "moz_historyvisits_placedateindex",
"count": "-"
},
{
"efficiencyPerc": 71.4,
"pages": 6,
"sizeBytes": 196608,
"sizePerc": 2,
"sequentialityPerc": 42,
"entity": "moz_historyvisits_fromindex",
"count": "-"
},
{
"efficiencyPerc": 72.5,
"pages": 11,
"sizeBytes": 360448,
"sizePerc": 3.7,
"sequentialityPerc": 42,
"entity": "moz_historyvisits_dateindex",
"count": "-"
},
{
"efficiencyPerc": 0.2,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_bookmarks_itemindex",
"count": "-"
},
{
"efficiencyPerc": 0.2,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_bookmarks_parentindex",
"count": "-"
},
{
"efficiencyPerc": 0.3,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_bookmarks_itemlastmodifiedindex",
"count": "-"
},
{
"efficiencyPerc": 0.3,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_bookmarks_dateaddedindex",
"count": "-"
},
{
"efficiencyPerc": 0.4,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_bookmarks_guid_uniqueindex",
"count": "-"
},
{
"efficiencyPerc": 0.1,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_keywords_placepostdata_uniqueindex",
"count": "-"
},
{
"efficiencyPerc": 0.4,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_annos_placeattributeindex",
"count": "-"
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_items_annos_itemattributeindex",
"count": "-"
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_places_metadata_placecreated_uniqueindex",
"count": "-"
},
{
"efficiencyPerc": 0,
"pages": 1,
"sizeBytes": 32768,
"sizePerc": 0.3,
"sequentialityPerc": 42,
"entity": "moz_places_metadata_referrerindex",
"count": "-"
}
]
}

Attached file about:support

(In reply to Bob Hood [:bhood] from comment #4)

Could also you please attach your about:support output to this report? I will update the priority/severity when that has been reviewed.

(In reply to 313432541 from comment #2)

playing 4k youtube online videos in fullscreen also drop frames

seems fixed at 115.0.2

(In reply to 313432541 from comment #7)

(In reply to Bob Hood [:bhood] from comment #4)

Could also you please attach your about:support output to this report? I will update the priority/severity when that has been reviewed.

(In reply to 313432541 from comment #2)

playing 4k youtube online videos in fullscreen also drop frames

seems fixed at 115.0.2

but AV1 8K 60fps decoding frame rate is still lower.

Would you be able to take a firefox profile and share the URL for it while playing an 8k video on your hardware? There are instructions for using it at https://profiler.firefox.com/, and you'll want to select the Graphics preset mode.

Flags: needinfo?(313432541)

(In reply to Glenn Watson [:gw] from comment #9)

Would you be able to take a firefox profile and share the URL for it while playing an 8k video on your hardware? There are instructions for using it at https://profiler.firefox.com/, and you'll want to select the Graphics preset mode.

https://profiler.firefox.com/from-browser/calltree/?globalTrackOrder=g0wf&hiddenGlobalTracks=124we&hiddenLocalTracksByPid=840-01~4424-0~8304-0~8888-0~13060-0~9160-13w9&thread=5&v=9

frame rate will be higher when performance analysis started ; frame rate go down again when performance analysis closed.

Flags: needinfo?(313432541)

(In reply to Glenn Watson [:gw] from comment #9)

Would you be able to take a firefox profile and share the URL for it while playing an 8k video on your hardware? There are instructions for using it at https://profiler.firefox.com/, and you'll want to select the Graphics preset mode.

https://share.firefox.dev/43mChxI

Thanks. Unfortunately it looks like that profile has screenshots enabled and is therefore dropping to the non-native compositor implementation, so I don't think this profile will give us useful information (as without the profiler running you should be getting native DirectComposition mode).

Markus, it looks like the Graphics preset was enabled (I'm assuming from the threads sampled), so I would expect no screenshots to be taken (and DC to be enabled). Any idea why that doesn't seem to be the case here, and if it's a profiler setting issue or some kind of profiling regression?

Flags: needinfo?(mstange.moz)

I don't think this profile used the "Graphics" preset. I think it probably just used the "Firefox" preset.

Reporter, could you switch to the "Graphics" preset in the profiler panel, and gather a new profile?

Flags: needinfo?(mstange.moz) → needinfo?(313432541)

(In reply to Markus Stange [:mstange] from comment #13)

I don't think this profile used the "Graphics" preset. I think it probably just used the "Firefox" preset.

Reporter, could you switch to the "Graphics" preset in the profiler panel, and gather a new profile?

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

Flags: needinfo?(313432541)

That profile suggests that we're spending most of the time waiting on the Intel driver to do something with the video frames (see mozilla::wr::DCSurfaceVideo::CallVideoProcessorBlt and the related trace in the profile). Normally I'd assume that this means it's simply hardware limited in how fast it can decode that video, but I think you mentioned above that it's better in Chrome? Sotaro, any ideas from the profile in comment 14? Is this something for the graphics team or perhaps the media team to look at?

Flags: needinfo?(sotaro.ikeda.g)

The problem usually happens when GPU tasks are heavy. Hardware decoded video rendering is very different between Chrome and Firefox. For compositing, Chrome seems to use less GPU than Firefox.

And for video decoding, Chrome uses Windows low level video decoding API

Firefox uses Windows high level video decoding API

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

From the profile, the wait happened at CDXGISwapChain::AcquireBuffer(). The problem might be mitigated when video swap chain uses triple buffering. The video swap chain uses double buffering.

(In reply to Sotaro Ikeda [:sotaro] from comment #16)

From the profile, the wait happened at CDXGISwapChain::AcquireBuffer(). The problem might be mitigated when video swap chain uses triple buffering. The video swap chain uses double buffering.

It seems better if we have a way to test the triple buffering.

Depends on: 1844253

Bug 1844253 is created for Comment 17.

Flags: needinfo?(sotaro.ikeda.g)

Hi 313432541@qq.com, can you check the STR of comment 0 with setting pref gfx.webrender.dcomp-video-force-triple-buffering = true from about:config? And can you get firefox profile with the pref?

Flags: needinfo?(313432541)
Attached file about.support.json
Flags: needinfo?(313432541)

(In reply to 313432541 from comment #21)

https://share.firefox.dev/477oP3F

Hmm, triple buffering at video overlay swap chain seemed not alleviate the problem. GPU tasks seemed to too heavy. It may be necessary to reduce GPU utilization of either or both WebRender and hardware decoders.

At WebRender, one framebuffer with overlay(like Bug 1811437) seems to reduce GPU usage. But it is low priority now.

Change hardware decoder usage like chromium seems to take a long time. Fallback to software decoding could not be used, since it is 8K video.

Bug 1847665 could reduce RenderThread waits a bit.

Depends on: 1847665
Blocks: wr-perf

Same issue, made a reddit post about it before finding this bug. Summary of my investigation:

Details: CPU/integrated GPU: Intel Core i7 1165G7, Iris Xe graphics

  • Windows 10 Pro
  • Windows AV1 Video Extension is installed and up-to-date
  • Latest Intel graphics driver for this system (31.0.101.5186) is installed

Firefox versions tried: Firefox 64-bit 102.15.1 (ESR), 115.8.0 (ESR; also tried 32-bit), 122.0, and 123.0.1

  • all fresh installs (uninstalled previous version and deleted %AppData%/Mozilla folder between installs)
  • about:support#media shows AV1 hardware decoding is supported
  • setting media.hardware-video-decoding.force-enabled has no effect
  • disabling media.av1.use-dav1d has no effect

Test videos: Here is an AV1 video that can be downloaded directly (~650MB): https://insights.deovr.com/video/AV1/7779_2900p.mp4

  • Chrome and VLC 3.0.20 play the video smoothly with hardware decoding. Firefox and VLC 3.0.17 do not use hardware decoding and drop most of the frames. VLC codec information confirms this video uses AV1.

Here is a Youtube video: https://www.youtube.com/watch?v=zCLOJ9j1k2Y

  • 4K is served as VP9 to Firefox (for which it does use hardware decoding) but AV1 to Chrome; 8K is served as AV1 to both Firefox (100% CPU, most frames dropped) and Chrome (plays fine w/ hardware decoding)

DXVA Checker or Windows Task Manager -> Performance -> GPU -> Video Decode, Video Decode 1 graphs can be used to monitor status of hardware decoding.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: