Open Bug 1465207 Opened 7 years ago Updated 7 months ago

Out-of-order frames during html5 video playback

Categories

(Core :: Audio/Video: Playback, defect, P3)

61 Branch
Unspecified
Windows 10
defect

Tracking

()

REOPENED
Tracking Status
firefox61 --- affected

People

(Reporter: kael, Unassigned, NeedInfo)

References

Details

Attachments

(2 files)

For about a month or so when I watch HTML5 videos the frames appear out of order on a regular basis, this creates the appearance of stutter or juddering as things move backwards and then forwards. It's always a single frame and the frequency varies between once every few seconds and multiple times per second. It's more frequent for small video elements (say, video embeds in Twitter) than for fullscreen video. This applies to youtube, twitter inline videos, etc. Setup: Win10 pro x64 GPU: NVidia GTX 1080 latest drivers Running dev edition channel about:support follows -- Application Basics ------------------ Name: Firefox Version: 61.0b8 Build ID: 20180524181234 Update Channel: aurora User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0 OS: Windows_NT 10.0 Multiprocess Windows: 3/3 (Enabled by default) Web Content Processes: 5/4 Enterprise Policies: Inactive Google Key: Found Mozilla Location Service Key: Found Safe Mode: false Crash Reports for the Last 3 Days --------------------------------- All Crash Reports Firefox Developer Edition Features -------------------------------------------------------- Name: Activity Stream Version: 2018.05.18.1398-00de1d9c ID: activity-stream@mozilla.org Name: Application Update Service Helper Version: 2.0 ID: aushelper@mozilla.org Name: Firefox Screenshots Version: 32.1.0 ID: screenshots@mozilla.org Name: Follow-on Search Telemetry Version: 0.9.7 ID: followonsearch@mozilla.com Name: Form Autofill Version: 1.0 ID: formautofill@mozilla.org Name: Photon onboarding Version: 1.0 ID: onboarding@mozilla.org Name: Pocket Version: 1.0.5 ID: firefox@getpocket.com Name: Web Compat Version: 2.0 ID: webcompat@mozilla.org Name: WebCompat Reporter Version: 1.0.0 ID: webcompat-reporter@mozilla.org Extensions ---------- Name: Exhentai Passport Version: 0.0.1 Enabled: true ID: exhentaipassport@harytfw Name: Image Search Options Version: 3.0.8 Enabled: true ID: {4a313247-8330-4a81-948e-b79936516f78} Name: Media Panel Version: 2.1 Enabled: true ID: {68d048f4-9449-4c97-8425-6dac7f743b14} Name: Owl - For comfortable reading Version: 2.2.7 Enabled: true ID: @owl-comfortable-reading-addon Name: uBlock Origin Version: 1.16.8 Enabled: true ID: uBlock0@raymondhill.net Name: Anti-Aliasing Tuner Version: 15.11.01.01 Enabled: false ID: aatuner@hotmint.com Name: Cookies Manager+ Version: 1.14.3 Enabled: false ID: {bb6bc1bb-f824-4702-90cd-35e2fb24f25d} Name: geckoprofiler Version: 1.16.25 Enabled: false ID: jid0-edalmuivkozlouyij0lpdx548bc@jetpack Name: Rikaichan Version: 3.02b1 Enabled: false ID: {0AA9101C-D3C1-4129-A9B7-D778C6A17F82} Name: Rikaichan Japanese-English Dictionary File Version: 2.01.170301 Enabled: false ID: rikaichan-jpen@polarcloud.com Name: U2F Support Add-on Version: 1.0.1 Enabled: false ID: u2f4moz@prefiks.org Name: User Agent Switcher Version: 0.7.3.1-signed.1-signed Enabled: false ID: {e968fc70-8f95-4ab9-9e79-304de2a71ee1} Security Software ----------------- Type: Type: Type: Graphics -------- Features Compositing: Direct3D 11 (Advanced Layers) Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000748d) EGL_VERSION: 1.4 (ANGLE 2.1.0.fcbca0e873c3) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses WebGL 1 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GTX 1080 Direct3D11 vs_5_0 ps_5_0) WebGL 1 Driver Version: OpenGL ES 2.0 (ANGLE 2.1.0.fcbca0e873c3) WebGL 1 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_sRGB EXT_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context WebGL 2 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000748d) EGL_VERSION: 1.4 (ANGLE 2.1.0.fcbca0e873c3) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses WebGL 2 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GTX 1080 Direct3D11 vs_5_0 ps_5_0) WebGL 2 Driver Version: OpenGL ES 3.0 (ANGLE 2.1.0.fcbca0e873c3) WebGL 2 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_multiview GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object WebGL 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context Direct2D: true Off Main Thread Painting Enabled: true Off Main Thread Painting Worker Count: 3 DirectWrite: true (10.0.16299.334) GPU #1 Active: Yes Description: NVIDIA GeForce GTX 1080 Vendor ID: 0x10de Device ID: 0x1b80 Driver Version: 24.21.13.9793 Driver Date: 5-22-2018 Drivers: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumdx.dll C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_f32bf428bbff8aa5\nvldumd.dll Subsys ID: 61833842 RAM: 8192 Diagnostics AzureCanvasAccelerated: 0 AzureCanvasBackend: direct2d 1.1 AzureCanvasBackend (UI Process): skia AzureContentBackend: direct2d 1.1 AzureContentBackend (UI Process): skia AzureFallbackCanvasBackend (UI Process): cairo GPUProcessPid: 12764 GPUProcess: Terminate GPU Process Device Reset: Trigger Device Reset Decision Log WEBRENDER: opt-in by default: WebRender is an opt-in feature unavailable by runtime: Build doesn't include WebRender Media ----- Audio Backend: wasapi Max Channels: 8 Preferred Sample Rate: 48000 Output Devices Name: Group Desktop (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 VST Out (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Internal AUX Jack (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000 Digital Audio (HDMI) (High Definition Audio Device): DELL P2715Q (High Definition Audio Device): Analog (3+4) (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Headphones (SteelSeries Arctis 7 Game): USB\VID_1038&PID_1260&MI_03\b&1ce18760&0&0003 Headset Earphone (SteelSeries Arctis 7 Chat): USB\VID_1038&PID_1260&MI_00\b&1ce18760&0&0000 HDMI Capture (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 DELL P2715Q (High Definition Audio Device): Foobar2000 (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Speakers (Steam Streaming Microphone): ROOT\SteamStreamingMicrophone\0000 DELL P2715Q (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0083&SUBSYS_38426183&REV_1001\5&fd5890a&0&0001 MPC-HC (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Digital Audio (HDMI) (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0083&SUBSYS_38426183&REV_1001\5&fd5890a&0&0001 Bridge (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 DELL P2715Q (High Definition Audio Device): Digital Audio (HDMI) (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0083&SUBSYS_38426183&REV_1001\5&fd5890a&0&0001 ROG PG27AQ (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0083&SUBSYS_38426183&REV_1001\5&fd5890a&0&0001 DELL P2715Q (High Definition Audio Device): Speakers (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000 Input Devices Name: Group Internal AUX Jack (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0083&SUBSYS_38426183&REV_1001\5&fd5890a&0&0001 Microphone (Steam Streaming Microphone): ROOT\SteamStreamingMicrophone\0000 Bridge (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Internal AUX Jack (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000 OBS Loop (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 VST Loopback (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Condenser (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Microphone (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000 ADAT (5+6) (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Headset Microphone (SteelSeries Arctis 7 Chat): USB\VID_1038&PID_1260&MI_00\b&1ce18760&0&0000 Optical In (RME Babyface): USB\VID_0424&PID_3FC7\97A09D9651EFBC8 Internal AUX Jack (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0083&SUBSYS_38426183&REV_1001\5&fd5890a&0&0001 Important Modified Preferences ------------------------------ accessibility.typeaheadfind.flashBar: 0 browser.cache.disk.capacity: 358400 browser.cache.disk.filesystem_reported: 1 browser.cache.disk.hashstats_reported: 1 browser.cache.disk.smart_size.first_run: false browser.cache.disk.smart_size.use_old_max: false browser.cache.frecency_experiment: 4 browser.download.folderList: 2 browser.download.manager.alertOnEXEOpen: false browser.fixup.domainwhitelist.firehomie: true browser.fixup.domainwhitelist.rv325: true browser.places.smartBookmarksVersion: 8 browser.sessionstore.upgradeBackup.latestBuildID: 20180524181234 browser.startup.homepage: about:home browser.startup.homepage_override.buildID: 20180524181234 browser.startup.homepage_override.mstone: 61.0 browser.tabs.crashReporting.includeURL: true browser.tabs.remote.autostart.2: false browser.tabs.warnOnClose: false browser.tabs.warnOnOpen: false browser.urlbar.matchBuckets: general:5,suggestion:Infinity browser.urlbar.placeholderName: Google browser.urlbar.searchSuggestionsChoice: true browser.urlbar.userMadeSearchSuggestionsChoice: true dom.apps.lastUpdate.buildID: 20160916101415 dom.apps.lastUpdate.mstone: 49.0 dom.apps.reset-permissions: true dom.forms.autocomplete.formautofill: true dom.max_script_run_time: 0 dom.mozApps.used: true dom.push.userAgentID: cd692d1efcf44c95a328e69fd4638d7c extensions.lastAppVersion: 61.0 font.internaluseonly.changed: true font.name.monospace.x-western: Consolas font.name.sans-serif.x-western: Calibri font.name.serif.x-western: Cambria font.size.fixed.x-western: 15 font.size.variable.x-western: 18 gfx.crash-guard.d3d11layers.appVersion: 55.0 gfx.crash-guard.d3d11layers.deviceID: 0x1b80 gfx.crash-guard.d3d11layers.driverVersion: 22.21.13.8253 gfx.crash-guard.d3d11layers.feature-d2d: true gfx.crash-guard.d3d11layers.feature-d3d11: true gfx.crash-guard.d3d11video.appVersion: 53.0a2 gfx.crash-guard.d3d11video.deviceID: 0x1b80 gfx.crash-guard.d3d11video.driverVersion: 21.21.13.7866 gfx.crash-guard.d3d9video.appVersion: 53.0a2 gfx.crash-guard.d3d9video.deviceID: 0x1b80 gfx.crash-guard.d3d9video.driverVersion: 21.21.13.7849 gfx.crash-guard.status.d3d11layers: 2 gfx.crash-guard.status.d3d11video: 2 gfx.crash-guard.status.d3d9video: 2 gfx.driver-init.appVersion: 42.0a2 gfx.driver-init.deviceID: 0x17c8 gfx.driver-init.driverVersion: 10.18.13.5582 gfx.driver-init.feature-d2d: true gfx.driver-init.feature-d3d11: true gfx.driver-init.status: 2 gfx.font_rendering.cleartype_params.cleartype_level: 35 gfx.font_rendering.cleartype_params.enhanced_contrast: 45 gfx.font_rendering.cleartype_params.force_gdi_classic_for_families: gfx.font_rendering.cleartype_params.gamma: 1425 gfx.font_rendering.cleartype_params.rendering_mode: 5 gfx.font_rendering.directwrite.enabled: true layers.mlgpu.sanity-test-failed: false media.benchmark.vp9.fps: 291 media.benchmark.vp9.versioncheck: 3 media.gmp-eme-adobe.abi: x86_64-msvc-x64 media.gmp-eme-adobe.lastUpdate: 1456263116 media.gmp-eme-adobe.version: 17 media.gmp-gmpopenh264.abi: x86_64-msvc-x64 media.gmp-gmpopenh264.lastUpdate: 1508895460 media.gmp-gmpopenh264.version: 1.7.1 media.gmp-manager.buildID: 20180524181234 media.gmp-manager.lastCheck: 1527591996 media.gmp-widevinecdm.abi: x86_64-msvc-x64 media.gmp-widevinecdm.lastUpdate: 1504678563 media.gmp-widevinecdm.version: 1.4.8.1008 media.gmp.storage.version.observed: 1 media.hardware-video-decoding.failed: false media.webrtc.debug.aec_log_dir: C:\Users\Katelyn\AppData\Local\Temp media.webrtc.debug.log_file: C:\Users\Katelyn\AppData\Local\Temp\WebRTC.log network.cookie.prefsMigrated: true network.dns.disablePrefetch: true network.http.speculative-parallel-limit: 0 network.predictor.cleaned-up: true network.predictor.enabled: false network.prefetch-next: false places.database.lastMaintenance: 1527247372 places.history.expiration.transient_current_max_pages: 145348 plugin.disable_full_page_plugin_for_types: application/pdf plugin.importedState: true plugin.state.npctrl: 2 plugin.state.npgoogleupdate: 0 plugin.state.npnv3dv: 0 plugin.state.npnv3dvstreaming: 0 plugin.state.npunity3d: 1 privacy.cpd.cookies: false privacy.cpd.downloads: false privacy.cpd.formdata: false privacy.cpd.history: false privacy.cpd.sessions: false privacy.donottrackheader.enabled: true privacy.sanitize.migrateClearSavedPwdsOnExit: true privacy.sanitize.migrateFx3Prefs: true privacy.sanitize.timeSpan: 0 privacy.trackingprotection.enabled: true privacy.trackingprotection.introCount: 20 privacy.trackingprotection.pbmode.enabled: false security.disable_button.openCertManager: false security.sandbox.content.tempDirSuffix: {798b84da-142a-4a56-bf4a-aecef54f996a} security.ssl.errorReporting.automatic: true services.sync.declinedEngines: prefs services.sync.engine.addons: false services.sync.engine.addresses.available: true services.sync.engine.bookmarks.validation.lastTime: 1527210815 services.sync.engine.greasemonkey: true services.sync.engine.passwords.validation.lastTime: 1527210815 services.sync.engine.prefs: false services.sync.engine.prefs.modified: false services.sync.engine.userStyles: true services.sync.lastPing: 1527591260 services.sync.lastSync: Tue May 29 2018 13:01:03 GMT-0700 (Pacific Daylight Time) services.sync.numClients: 3 storage.vacuum.last.index: 1 storage.vacuum.last.places.sqlite: 1527356145 ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found. Important Locked Preferences ---------------------------- Places Database --------------- JavaScript ---------- Incremental GC: true Accessibility ------------- Activated: false Prevent Accessibility: 0 Accessible Handler Used: true Accessibility Instantiator: Library Versions ---------------- NSPR Expected minimum version: 4.19 Version in use: 4.19 NSS Expected minimum version: 3.37.1 Version in use: 3.37.1 NSSSMIME Expected minimum version: 3.37.1 Version in use: 3.37.1 NSSSSL Expected minimum version: 3.37.1 Version in use: 3.37.1 NSSUTIL Expected minimum version: 3.37.1 Version in use: 3.37.1 Sandbox ------- Content Process Sandbox Level: 5 Effective Content Process Sandbox Level: 5 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"]
Hey :kael, are you still seeing this issue? If so, does this occur with any HTML5 video? Are you able to provide a link to a video where you're seeing the issue occur frequently? Could you check if the issue still takes place in nightly.
Flags: needinfo?(kg)
Priority: -- → P3
All HTML5 videos, yes. Youtube etc. Not sure I've seen it on Twitch though - could be video framerate vs vsync rate related FWIW some native video player software has had the same problem on Nvidia's drivers when Windows' DWM is involved, so it's possible this is a driver issue that FF is hitting now due to video playback or compositor changes
Flags: needinfo?(kg)
The user-visible glitch behavior is the same as this https://bugzilla.mozilla.org/show_bug.cgi?id=1233815 but I have no idea whether the cause would be the same.
Upping the priority. :kael, would you be able to capture a video of this happening? If you're able to find if this is a regression via moz-regression[0], that would help a lot. [0]: https://mozilla.github.io/mozregression/
Flags: needinfo?(kg)
Priority: P3 → P2
Mozregression will be difficult, but I'll see if I can come up with a way to reliably reproduce it. I'm setting up a 144hz monitor today so I'll try to experiment with different display refresh rates to see if that has an impact.
I managed to capture it using my cell phone's slow motion mode. Unfortunately, it produces 240hz videos so the video plays back at normal speed... if you single step through the frames using a player like MPC-HC you can clearly see what's going on, but it's also just visible if you watch it at 1:1 speed because the motion seems to jump backwards and then forwards. The video being viewed was a 60hz youtube video (though as mentioned before, it happens pretty much everywhere intermittently) - https://www.youtube.com/watch?v=j57PfkWJypE.
Flags: needinfo?(kg)
Thanks for the video. Could you let me know if you still see the issue with hardware acceleration disabled (https://support.mozilla.org/en-US/kb/performance-settings)? As with bug 1233815, and based on comment 2 I'm wondering if this is somewhere in the gfx pipeline.
Flags: needinfo?(kg)
Matt, are you aware of any issues in gfx similar to this one/that may be causing this?
Flags: needinfo?(matt.woodrow)
I am not. We've had bugs like this in the past, but they have usually been on the decoder side. Gfx just gets a list of timestamped frames (sorted oldest to newest), and then displays the first one with a timestamp later than the current time. If the input frames are as expected, it seems unlikely that gfx would get the order wrong. Any theories jya?
Flags: needinfo?(matt.woodrow) → needinfo?(jyavenard)
What's weird is that it affects both YouTube (which considering the OP info would be using vp9) and twitter which is h264. Now, vp9 doesn't have a concept of frame order like h264 would. So while you could expect out of order frames being composited with h264, it just can't happen with vp9 decoder. So either the content was wrong, or something is amiss in the compositing/drivers. We haven't hard report like that earier. I have an nvidia 1050i (dell xps 15) and a 1080Ti (desktop), I don't experience this behaviour.. so no idea..
Flags: needinfo?(jyavenard)
Matt, the same reporter created a bug that was duped to bug 1236112. You had implemented a fix for D3D9 there. Could it be the same issue with D3D11?
Flags: needinfo?(matt.woodrow)
You know, you might be right! We did have the same issue with D3D11, and bug 1257013 fixed it. I'm fairly sure that bug 1340359 regressed it again though :(
Flags: needinfo?(matt.woodrow)
fwiw, the reason this may be hard to reproduce for other people is that i'm running two 4k panels at 60hz, so the actual time spent decoding, scaling and compositing frames is probably a lot longer than it is on other people's test machines. That would make it easier for something to lose a race if synchronization is wrong.
I'm able to reproduce this on a setup with two monitors (1080, 4K) with a GeForce 1070. If I run something graphically intensive on the 4K monitor (GPU benchmark, GPU intensive game) and play back a video in Firefox on the second I see the issue in the video. However, the issue is rare/doesn't appear to happen in fresh profiles, which has foiled my attempts to bisect thus far. The machine I'm using to test is not one of my normal dev machines, but should I get another moment I'll see if I can isolate what in my default profile is causing the issue and/or bisect with that profile.
(In reply to Bryce Seager van Dyk (:bryce) from comment #14) > I'm able to reproduce this on a setup with two monitors (1080, 4K) with a > GeForce 1070. If I run something graphically intensive on the 4K monitor > (GPU benchmark, GPU intensive game) and play back a video in Firefox on the > second I see the issue in the video. > > However, the issue is rare/doesn't appear to happen in fresh profiles, which > has foiled my attempts to bisect thus far. The machine I'm using to test is > not one of my normal dev machines, but should I get another moment I'll see > if I can isolate what in my default profile is causing the issue and/or > bisect with that profile. The first step might be to add back the code that was removed in bug 1340359, and have a pref deciding if we use it or not. Could just do a try run with that, and see if :kael can still reproduce the issue. Assuming that this is the issue then I think the best long term fix is to initialize an ID3D11Query object waiting for the copy to be done, and hold a reference to the decoder's texture (so that it doesn't get returned for reuse). When later frames are about to be decoded, we can look use the query objects to check if any of our earlier frames are now complete, and return them to the decoder (drop the ref) if so. The decoder will hang if it ever runs out of textures, so we want to make sure our list of in-progress frames never gets too long. I think there's usually only 3 total frames in play, but there might be a way to query/configure this. If we do get into the state where we're still holding all the textures and we're about to request a new frame to be decoded, then we probably want to spin-lock to wait for the oldest one to be done. We might need a timeout here (bug 1257013 had a comment about them sometimes not finishing).
I still see this intermittently, but it's not as bad as it used to be. Maybe on the order of 3-40 out of order frames per minute. I just tried switching over to WebRender and haven't seen it yet, so fingers crossed. Historically other video compositors have had this issue (like madVR for directshow-based players) and when I examined those with GPUView it was clearly an NVIDIA driver issue - sometimes it seemed like DWM was presenting frames out of order. Does FF normally use DWM to present video frames?
Flags: needinfo?(kg)

Following up on this as we're seeing further reports and I still repro on my dual monitor setup. I tried as best I could to add the code mentioned in comment 11 back in, and was still seeing the issue. However, as this is not my area of expertise, I wonder if someone else may be better suited to help debug this. Matt, would you be able to help find someone to look at this, or help me pass NI to someone who could?

Flags: needinfo?(matt.woodrow)

Can you attach the patch for the test you did?

I probably won't have time to dig into this myself in the near future.

This was my attempt. I can bring it forward and attempt to modify further if it would aid in debugging.

If you set the pref media.wmf.low-latency.force-disabled to true.

do you still see the problem?

Flags: needinfo?(kg)
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(bvandyk)
Resolution: --- → FIXED

That patch looks about what I expected. So it works the same as without the patch?

It appears that we'd still be getting textures with an associated KeyedMutex, but we're not locking it in that new path (AutoTextureLock is only in the old path). That seems like it would cause us to fail to render entirely though.

gfx.direct3d11.enable-debug-layer=true (plus VisualStudio attached) would give you any errors reported, and using the debugger to make sure we're actually running that path would be valuable.

gfx.direct3d11.break-on-error=true will make the errors even more forceful (and filters out some known errors from the compositor [1]), but if it's possible that the filter list is out of date and we'd crash on unrelated problems (fixing or filtering those would be good!).

[1] https://searchfox.org/mozilla-central/rev/06bd14ced96f25ff1dbd5352cb985fc0fa12a64e/gfx/thebes/DeviceManagerDx.cpp#604

Flags: needinfo?(matt.woodrow)

(In reply to Jean-Yves Avenard [:jya] from comment #21)

If you set the pref media.wmf.low-latency.force-disabled to true.

do you still see the problem?

Rechecking with changing of certain prefs (confirming I restarted between pref flips):

  • media.wmf.low-latency.force-disabled = true: problem still happens
  • gfx.webrender.enabled = true: problem does not seem to happen

(In reply to Matt Woodrow (:mattwoodrow) from comment #22)

That patch looks about what I expected. So it works the same as without the patch?

It's been awhile, but I'm confident I still saw the issue with that patch applied. I will try to bring the patch forward and confirm that to be so.

I'll take a look at testing with those other prefs also.

Reopening as close looks accidental.

Status: RESOLVED → REOPENED
Flags: needinfo?(bvandyk)
Resolution: FIXED → ---

I forced on webrender as soon as it was available in dev edition, so that explains why I haven't seen this lately...

QA Whiteboard: qa-not-actionable

In the process of migrating remaining bugs to the new severity system, the severity for this bug cannot be automatically determined. Please retriage this bug using the new severity system.

Severity: major → --
Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: