Closed Bug 1428842 Opened 3 years ago Closed 8 months ago

Youtube frame dropping on Mac

Categories

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

x86_64
macOS
defect

Tracking

()

RESOLVED FIXED
Tracking Status
platform-rel --- ?

People

(Reporter: mgaudet, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [platform-rel-youtube])

Visit this Youtube video: https://www.youtube.com/watch?v=aqz-KE-bpKQ, right click, and select "stats for nerds" 

Click play. 

Expected result (observed in Safari on same system): Small percentage or fewer dropped frames

Actual result: 

45-55% dropped frames. 

Perf.html profile: https://perfht.ml/2EocES9

--- 

Safari Stats for Nerds: 

Video ID / CPNaqz-KE-bpKQ / pTemtMG4NwWd3nt6
Viewport 855x481*2
Current / Optimal Res 1920x1080@60 / 1920x1080@60
Volume / Normalized 100% / 100% (content loudness -5.0dB)
Codecs avc1.64002a (299) / mp4a.40.2 (140)
Host

Firefox Nightly Stats for Nerds: 
Video ID / CPN aqz-KE-bpKQ / 11o6kGIjgNks5Etg
Viewport 854x480*2
Current / Optimal Res 1920x1080@60 / 1920x1080@60
Volume / Normalized 95% / 95% (content loudness -5.0dB)
Codecs avc1.64002a (299) / opus (251)
Host r6---sn-gvbxgn-tt1y

--- 

Commentary: System CPU doesn't seem to be particularly taxed during playback.
about:support contents: 

Application Basics
------------------

Name: Firefox
Version: 59.0a1
Build ID: 20180104100157
Update Channel: nightly
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:59.0) Gecko/20100101 Firefox/59.0
OS: Darwin 16.7.0
Multiprocess Windows: 1/1 (Enabled by default)
Web Content Processes: 3/4
Stylo: content = true (enabled by default), chrome = false (disabled by default)
Google Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

All Crash Reports

Nightly Features
----------------

Name: Activity Stream
Version: 2017.12.22.0055-8fe1055e
ID: activity-stream@mozilla.org

Name: Application Update Service Helper
Version: 2.0
ID: aushelper@mozilla.org

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

Name: Follow-on Search Telemetry
Version: 0.9.6
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: Presentation
Version: 1.0.0
ID: presentation@mozilla.org

Name: Shield Recipe Client
Version: 80
ID: shield-recipe-client@mozilla.org

Name: TLS 1.3 Compatibility Testing of Middleboxes
Version: 1.0.0
ID: tls13-middlebox-draft22@mozilla.org

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

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

Extensions
----------

Name: Gecko Profiler
Version: 0.17
Enabled: true
ID: geckoprofiler@mozilla.com

Name: LastPass: Free Password Manager
Version: 4.2.4a
Enabled: true
ID: support@lastpass.com

Name: LeechBlock NG
Version: 0.8
Enabled: true
ID: leechblockng@proginosko.com

Name: Multi-Account Containers
Version: 4.1.0
Enabled: true
ID: @testpilot-containers

Name: Quantum Lights dynamic theme
Version: 1.25
Enabled: true
ID: {ed26ddcb-5611-4512-a89a-51b8db81cfb2}

Name: Tabby Cat
Version: 0.995
Enabled: true
ID: {f7f203e0-9d1d-4557-891f-9865877c5b48}

Name: Test Pilot
Version: 2.0.6-dev-d957066
Enabled: true
ID: @testpilot-addon

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

Name: Vidyo Replay Download
Version: 1.4
Enabled: true
ID: {522ada98-fe79-4881-93ab-b7ace8c7d7c4}

Graphics
--------

Features
Compositing: OpenGL
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled
WebGL 1 Driver WSI Info: CGL
WebGL 1 Driver Renderer: ATI Technologies Inc. -- AMD Radeon Pro 560 OpenGL Engine
WebGL 1 Driver Version: 4.1 ATI-1.51.8
WebGL 1 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
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: CGL
WebGL 2 Driver Renderer: ATI Technologies Inc. -- AMD Radeon Pro 560 OpenGL Engine
WebGL 2 Driver Version: 4.1 ATI-1.51.8
WebGL 2 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
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
Off Main Thread Painting Enabled: true
GPU #1
Active: Yes
Vendor ID: 0x8086
Device ID: 0x591b

Diagnostics
AzureCanvasAccelerated: 1
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
TileHeight: 1024
TileWidth: 1024
Decision Log
WEBRENDER:
opt-in by default: WebRender is an opt-in feature




Media
-----

Audio Backend: remote
Max Channels: 2
Preferred Channel Layout: stereo
Preferred Sample Rate: 44100
Output Devices
Name: Group
Internal Speakers: AppleHDAEngineOutput:1F,3,0,1,1:0
Input Devices
Name: Group
Internal Microphone: AppleHDAEngineInput:1F,3,0,1,0:1

Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.frecency_experiment: 3
browser.places.smartBookmarksVersion: 8
browser.privatebrowsing.apt: false
browser.search.useDBForOrder: true
browser.sessionstore.upgradeBackup.latestBuildID: 20180104100157
browser.startup.homepage_override.buildID: 20180104100157
browser.startup.homepage_override.mstone: 59.0a1
browser.tabs.remote.autostart.2: true
browser.urlbar.matchBuckets: general:5,suggestion:Infinity
browser.urlbar.searchSuggestionsChoice: false
browser.urlbar.suggest.enabled: false
browser.urlbar.suggest.searches: false
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
browser.urlbar.usepreloadedtopurls.enabled: false
browser.urlbar.userMadeSearchSuggestionsChoice: true
dom.forms.autocomplete.formautofill: true
dom.push.userAgentID: 5194df5c96fb4250ae29ed7a76738a64
extensions.lastAppVersion: 59.0a1
font.internaluseonly.changed: true
javascript.options.asyncstack: false
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1511468958
media.gmp-gmpopenh264.version: 1.7.1
media.gmp-manager.buildID: 20180104100157
media.gmp-manager.lastCheck: 1515175900
media.gmp-widevinecdm.abi: x86_64-gcc3
media.gmp-widevinecdm.lastUpdate: 1511790929
media.gmp-widevinecdm.version: 1.4.8.1008
media.gmp.storage.version.observed: 1
media.webrtc.debug.log_file: /var/folders/wz/npzyx58d1jn0flmlcw9623h00000gn/T/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: 1514596460
places.history.expiration.transient_current_max_pages: 116694
plugin.disable_full_page_plugin_for_types: application/pdf
print.print_bgcolor: false
print.print_bgimages: false
print.print_duplex: -437918235
print.print_evenpages: true
print.print_in_color: true
print.print_margin_bottom: 0.5
print.print_margin_left: 0.5
print.print_margin_right: 0.5
print.print_margin_top: 0.5
print.print_oddpages: true
print.print_orientation: 0
print.print_page_delay: 50
print.print_paper_data: 0
print.print_paper_height: 11.00
print.print_paper_name:
print.print_paper_size_unit: 0
print.print_paper_width: 8.50
print.print_resolution: -437918235
print.print_reversed: false
print.print_scaling: 1.00
print.print_shrink_to_fit: true
print.print_to_file: false
print.print_unwriteable_margin_bottom: 56
print.print_unwriteable_margin_left: 25
print.print_unwriteable_margin_right: 25
print.print_unwriteable_margin_top: 25
print.printer__.print_bgcolor: false
print.printer__.print_bgimages: false
print.printer__.print_duplex: -437918235
print.printer__.print_edge_bottom: 0
print.printer__.print_edge_left: 0
print.printer__.print_edge_right: 0
print.printer__.print_edge_top: 0
print.printer__.print_evenpages: true
print.printer__.print_footercenter:
print.printer__.print_footerleft: &PT
print.printer__.print_footerright: &D
print.printer__.print_headercenter:
print.printer__.print_headerleft: &T
print.printer__.print_headerright: &U
print.printer__.print_in_color: true
print.printer__.print_margin_bottom: 0.5
print.printer__.print_margin_left: 0.5
print.printer__.print_margin_right: 0.5
print.printer__.print_margin_top: 0.5
print.printer__.print_oddpages: true
print.printer__.print_orientation: 0
print.printer__.print_page_delay: 50
print.printer__.print_paper_data: 0
print.printer__.print_paper_height: 11.00
print.printer__.print_paper_name: na-letter
print.printer__.print_paper_size_unit: 0
print.printer__.print_paper_width: 8.50
print.printer__.print_resolution: -437918235
print.printer__.print_reversed: false
print.printer__.print_scaling: 1.00
print.printer__.print_shrink_to_fit: true
print.printer__.print_to_file: false
print.printer__.print_unwriteable_margin_bottom: 56
print.printer__.print_unwriteable_margin_left: 25
print.printer__.print_unwriteable_margin_right: 25
print.printer__.print_unwriteable_margin_top: 25
privacy.trackingprotection.enabled: true
privacy.trackingprotection.introCount: 20
privacy.userContext.extension: @testpilot-containers
security.sandbox.content.tempDirSuffix: {5ccd1723-eff8-bf47-91d0-5e7305611714}
security.ssl.errorReporting.automatic: true
services.sync.declinedEngines: creditcards,addons
services.sync.engine.addons: false
services.sync.engine.addresses: true
services.sync.engine.addresses.available: true
services.sync.engine.bookmarks.validation.lastTime: 1515349742
services.sync.engine.creditcards.available: true
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1515349742
services.sync.lastSync: Mon Jan 08 2018 12:54:59 GMT-0500 (EST)
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1514596460

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

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

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

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

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

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

Experimental Features
---------------------

Sandbox
-------

Content Process Sandbox Level: 3
Effective Content Process Sandbox Level: 3

Internationalization & Localization
-----------------------------------

Application Settings
Requested Locales: ["en-US"]
Available Locales: ["en-US"]
App Locales: ["en-US"]
Regional Preferences: ["en-CA"]
Default Locale: "en-US"
Operating System
System Locales: ["en-CA"]
Regional Preferences: ["en-CA"]
I'm guessing the same as bug 1404042.

Though Viewport 854x480*2
Current / Optimal Res 1920x1080@60 / 1920x1080@60
Volume / Normalized 95% / 95% (content loudness -5.0dB)

indicates that you've manually forced a resolution unsuitable for the viewport (otherwise the 480p stream would have been selected)

Try without webrender
See Also: → 1404042
Version: unspecified → Trunk
AFAICT WebRender is is off-- My understanding was that to turn it on I'd have to flip gfx.webrender.enabled to true, and according to about:config, currently false. 

Any chance you can clarify the "Manually forced resolution"? As far as I know, the only 'resolution' change is having a wide browser. Curiously though, the problem does seem to abate if I make the window smaller. 

As far as the scaling issue, my display is currently set to "Default for Display"
when the viewport is 854x480 it shouldn't select 1920x1080. YouTube will choose the resolution that fits the viewport ignoring higher resolution as it would make no visual difference.

By changing the resolution, I mean going to the settings icon and manually selecting a resolution.

Now that doesnt' explain why safari wouldn't drop frames for 1080p@60 when firefox would.
Ahhh. Ok, makes sense. Thanks for the explanation.
Blocks: 1416090
Priority: -- → P2
Summary: Youtube frame dropping → Youtube frame dropping on Mac
platform-rel: --- → ?
Whiteboard: [platform-rel-youtube]
Just retested on nightly, and I'm not seeing this anymore; does it make sense to resolve this as fixed, or should it be left open?
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.