Closed
Bug 1417973
Opened 7 years ago
Closed 7 years ago
100% CPU when playing 1080p 60fps videos on Youtube
Categories
(Core :: Audio/Video: Playback, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla59
People
(Reporter: zer0bot, Assigned: jya, NeedInfo)
Details
(Keywords: perf)
Attachments
(1 file)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0 Build ID: 20171112125346 Steps to reproduce: Play a 1080p video in Youtube. W10, CPU Core 2 Quad Q6700, GPU ATI Radeon HD 4600 Series. Fresh Firefox 57.0 install, tried with all the addons disabled. Actual results: The video lags and hangs, CPU usage goes up to 100%. Expected results: The video shouldn't lag or hang, just like with any previous version of Firefox and other browsers.
By the way the problem gets worse if I put the mouse pointer on top of the video.
Updated•7 years ago
|
Assignee | ||
Comment 3•7 years ago
|
||
Please provide a copy of about:support Thank you. Did you enable VP9 content by any chance, it's a quite old CPU, it would struggle playing vp9 properly,
Updated•7 years ago
|
status-firefox57:
--- → affected
status-firefox58:
--- → ?
status-firefox59:
--- → ?
Priority: -- → P2
Yes it's a pretty old computer but I've never had any problem with 60 fps videos. I haven't enabled anything, it's a fresh install of Firefox. I don't know what VP9 is or how to enable it. Here is the copy of about:support Application Basics ------------------ Name: Firefox Version: 57.0 Build ID: 20171112125346 Update Channel: release User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0 OS: Windows_NT 10.0 Multiprocess Windows: 1/1 (Enabled by default) Web Content Processes: 5/4 Stylo: true (enabled by default) Google Key: Found Mozilla Location Service Key: Found Safe Mode: false Crash Reports for the Last 3 Days --------------------------------- All Crash Reports Firefox Features ---------------- Name: Activity Stream Version: 2017.11.07.1100-7f4e3634 ID: activity-stream@mozilla.org Name: Application Update Service Helper Version: 2.0 ID: aushelper@mozilla.org Name: Firefox Screenshots Version: 19.2.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: Multi-process staged rollout Version: 3.05 ID: e10srollout@mozilla.org Name: Photon onboarding Version: 1.0 ID: onboarding@mozilla.org Name: Pocket Version: 1.0.5 ID: firefox@getpocket.com Name: Shield Recipe Client Version: 76.1 ID: shield-recipe-client@mozilla.org Name: Web Compat Version: 1.1 ID: webcompat@mozilla.org Extensions ---------- Name: Adblock Plus Version: 3.0.1 Enabled: true ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} Name: Video DownloadHelper Version: 7.0.0 Enabled: true ID: {b9db16a4-6edc-47ec-a1f4-b86292ed211d} Name: Auto Reload Version: 1.22 Enabled: false ID: autoreload@yz.com Name: DoubleClick Save Picture Version: 1.1.140101.1-signed.1-signed Enabled: false ID: doubleclick-picture@windpr.tw Name: Redirector Version: 3.1.0 Enabled: false ID: redirector@einaregilsson.com Name: Selected Search Version: 0.4.160328 Enabled: false ID: {a3b1e8b3-ba2c-4280-9768-198db1817b5d} Name: Send to Kodi Version: 3.0.0 Enabled: false ID: jid0-YCM0p5WlCGjvBJcZhAusQ5h26wM@jetpack Name: Tab Mix Plus Version: 0.5.0.4 Enabled: false ID: {dc572301-7619-498c-a57d-39143191b318} Name: Tab Set Saver Version: 1.0.1-signed.1-signed Enabled: false ID: tabsetsaver@rgsinc.38911bytes.com Name: Text Link Version: 6.0.1 Enabled: false ID: {54BB9F3F-07E5-486c-9B39-C7398B99391C} 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: 0000000000009cf4) EGL_VERSION: 1.4 (ANGLE 2.1.0.dec065540d5f) 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_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource 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 (ATI Radeon HD 4600 Series Direct3D11 vs_4_1 ps_4_1) WebGL 1 Driver Version: OpenGL ES 2.0 (ANGLE 2.1.0.dec065540d5f) WebGL 1 Driver Extensions: 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_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_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_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_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_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_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc MOZ_WEBGL_depth_texture WebGL 2 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 0000000000009cf4) EGL_VERSION: 1.4 (ANGLE 2.1.0.dec065540d5f) 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_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource 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 (ATI Radeon HD 4600 Series Direct3D11 vs_4_1 ps_4_1) WebGL 2 Driver Version: OpenGL ES 3.0 (ANGLE 2.1.0.dec065540d5f) WebGL 2 Driver Extensions: 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_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_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_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_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_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc Direct2D: true DirectWrite: true (10.0.15063.674) GPU #1 Active: Yes Description: ATI Radeon HD 4600 Series Vendor ID: 0x1002 Device ID: 0x9490 Driver Version: 8.970.100.9001 Driver Date: 1-13-2015 Drivers: aticfx64 aticfx64 aticfx32 aticfx32 atiumd64 atidxx64 atiumdag atidxx32 atiumdva atiumd6a atitmm64 Subsys ID: 20091787 RAM: 1024 Diagnostics AzureCanvasAccelerated: 0 AzureCanvasBackend: Direct2D 1.1 AzureCanvasBackend (UI Process): skia AzureContentBackend: Direct2D 1.1 AzureContentBackend (UI Process): skia AzureFallbackCanvasBackend (UI Process): cairo GPUProcessPid: 13736 Decision Log HW_COMPOSITING: force_enabled by user: Force-enabled by pref 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: 6 Preferred Channel Layout: undefined Preferred Sample Rate: 48000 Output Devices Name: Group Headphones (RTC) (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 Audio digital (HDMI) (Dispositivo de High Definition Audio): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1001\5&390516ed&0&0001 Speakers / HP (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 SPDIF-Out (Rear) (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 Input Devices Name: Group Micrófono posterior (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 Conector AUX interno (Dispositivo de High Definition Audio): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1001\5&390516ed&0&0001 Speakers / HP (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 Línea de entrada (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 Mezcla estéreo (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 Micrófono delantero (IDT High Definition Audio CODEC): HDAUDIO\FUNC_01&VEN_8384&DEV_7627&SUBSYS_80862504&REV_1002\4&2b91f791&0&0201 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.download.useDownloadDir: false browser.link.open_newwindow.override.external: 3 browser.places.smartBookmarksVersion: 8 browser.search.openintab: true browser.search.useDBForOrder: true browser.sessionstore.upgradeBackup.latestBuildID: 20171112125346 browser.startup.homepage: https://www.google.com/ncr browser.startup.homepage_override.buildID: 20171112125346 browser.startup.homepage_override.mstone: 57.0 browser.tabs.closeWindowWithLastTab: false browser.tabs.insertRelatedAfterCurrent: false browser.tabs.loadDivertedInBackground: true browser.tabs.remote.autostart.2: true browser.urlbar.lastSuggestionsPromptDate: 20171115 browser.urlbar.timesBeforeHidingSuggestionsHint: 0 dom.ipc.processCount.web: 4 dom.push.userAgentID: 7c31c0d9dc9f49209f7e54b2c342b1cb extensions.lastAppVersion: 57.0 general.useragent.locale: en-US layers.acceleration.force-enabled: true layers.mlgpu.sanity-test-failed: false media.benchmark.vp9.fps: 110 media.benchmark.vp9.versioncheck: 2 media.gmp-gmpopenh264.abi: x86_64-msvc-x64 media.gmp-gmpopenh264.lastUpdate: 1510753772 media.gmp-gmpopenh264.version: 1.7.1 media.gmp-manager.buildID: 20171112125346 media.gmp-manager.lastCheck: 1510843798 media.gmp-widevinecdm.abi: x86_64-msvc-x64 media.gmp-widevinecdm.lastUpdate: 1510753777 media.gmp-widevinecdm.version: 1.4.8.1008 media.gmp.storage.version.observed: 1 media.hardware-video-decoding.failed: false network.cookie.prefsMigrated: true network.predictor.cleaned-up: true places.database.lastMaintenance: 1510755319 places.history.expiration.transient_current_max_pages: 49865 plugin.disable_full_page_plugin_for_types: application/pdf privacy.donottrackheader.enabled: true privacy.sanitize.timeSpan: 0 security.sandbox.content.tempDirSuffix: {116de83c-b026-4c84-a802-21099e0f0b59} services.sync.declinedEngines: history,forms services.sync.engine.history: false services.sync.engine.prefs.modified: false services.sync.lastPing: 1510930427 services.sync.lastSync: Fri Nov 17 2017 15:15:10 GMT-0600 storage.vacuum.last.index: 1 storage.vacuum.last.places.sqlite: 1510755319 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.17 Version in use: 4.17 NSS Expected minimum version: 3.33 Version in use: 3.33 NSSSMIME Expected minimum version: 3.33 Version in use: 3.33 NSSSSL Expected minimum version: 3.33 Version in use: 3.33 NSSUTIL Expected minimum version: 3.33 Version in use: 3.33 Experimental Features --------------------- Sandbox ------- Content Process Sandbox Level: 3 Effective Content Process Sandbox Level: 3
Assignee | ||
Comment 5•7 years ago
|
||
Thank you for this... So it's not what I first thought, your machine doesn't have VP9 support. I see that you've modified (or something else did) layers.acceleration.force-enabled which is surprising. My guess is that somehow the hardware decoder isn't available on your box. The ATI 4600 was the first graphic card of this brand to support h264 hardware decoder, but it may not be available under windows 10. Hpw does playback perform on that box with Chrome or Edge? The last bit of information that would help, would be to install the media devtools extension (https://addons.mozilla.org/en-US/firefox/addon/devtools-media-panel/) and go into the media tab when one of those videos giving issue is playing. Press the Refresh button and copy/paste the text here. Thank you for your help in diagnosing the issue.
It was me who modified layers.acceleration.force-enabled trying to troubleshoot the issue, I forgot to set it back, my bad :) Under Chrome and Edge the 60fps videos play smooth, in fact they also played perfectly under the previous version of Firefox. Here is the media infoo tool output: Media Info : [ 0 : { url : "https://www.youtube.com/watch?v=fRj34o4hN4I" mediaElements : [...] 1 item } ] [ { "url": "https://www.youtube.com/watch?v=fRj34o4hN4I", "mediaElements": [ { "currentSrc": "blob:https://www.youtube.com/c055db36-c2df-4fc4-ae1f-08ecc288005d", "currentTime": 8.626208, "readyState": 3, "videoPlaybackQuality": { "ratio": "16%", "droppedVideoFrames": 311, "corruptedVideoFrames": 0 }, "bufferedRanges": [ { "start": 0, "end": 13.380033 } ], "mozMediaSourceObject": [ { "sourceBuffers": [ { "start": 0, "end": 15.681 } ] }, { "sourceBuffers": [ { "start": 0, "end": 13.380033 } ] } ], "debugInfo": { "Container Type": "MediaSource", "Audio Decoder(audio/opus)": "opus audio decoder", "Audio Frames Decoded": "533", "Audio State": "ni=0 no=0 wp=0 demuxr=0 demuxq=0 decoder=0 tt=-1,0 tths=-1 in=533 out=533 qs=0 pending=0 wfd=0 eos=0 ds=0 wfk=0 sid=0", "Video Decoder(video/avc, 1920x1080 @ 59,94)": "wmf software video decoder (remote)", "Hardware Video Decoding": "disabled", "Video Frames Decoded": "371 (skipped=0)", "Video State": "ni=0 no=1 wp=0 demuxr=0 demuxq=0 decoder=1 tt=-1,0 tths=-1 in=388 out=371 qs=17 pending:0 wfd=0 eos=0 ds=0 wfk=0 sid=1", "Dumping Data for Demuxer": "246ff2e6800", "Dumping Audio Track Buffer(audio/webm)": "mLastAudioTime=10,661000", "Audio Track Buffer Details": "NumSamples=784 Size=433168 Evictable=294459 NextGetSampleIndex=533 NextInsertionIndex=784", "Audio Track Buffered": "ranges=[(0,000000, 15,681000)]", "Dumping Video Track Buffer(video/mp4)": "mLastVideoTime=6,489822", "Video Track Buffer Details": "NumSamples=802 Size=10022939 Evictable=3756418 NextGetSampleIndex=388 NextInsertionIndex=802", "Video Track Buffered": "ranges=[(0,000000, 13,380033)]", "MediaDecoder State": "channels=2 rate=48000 hasAudio=1 hasVideo=1 mPlayState=PLAYING mdsm=246ff84e000", "MediaDecoderStateMachine State": "GetMediaTime=8666666 GetClock=8672083 mMediaSink=246ff9c7ac0 state=DECODING mPlayState=3 mSentFirstFrameLoadedEvent=1 IsPlaying=1 mAudioStatus=idle mVideoStatus=pending mDecodedAudioEndTime=10654500 mDecodedVideoEndTime=6189511mAudioCompleted=0 mVideoCompleted=0mIsPrerolling=0", "VideoSink Status": "IsStarted=1 IsPlaying=1 VideoQueue(finished=0 size=0) mVideoFrameEndTime=6189511 mHasVideo=1 mVideoSinkEndRequest.Exists()=0 mEndPromiseHolder.IsEmpty()=0" } } ] } ]
Under closer inspection, Edge playback can be smooth but then gets very buggy in parts of the video, Chrome's playback is perfect.
Comment 8•7 years ago
|
||
(In reply to Petes from comment #6) > It was me who modified layers.acceleration.force-enabled trying to > troubleshoot the issue, I forgot to set it back, my bad :) > > Under Chrome and Edge the 60fps videos play smooth, in fact they also played > perfectly under the previous version of Firefox. > > Here is the media infoo tool output: skip > "Video Decoder(video/avc, 1920x1080 @ 59,94)": "wmf software video > decoder (remote)", > "Hardware Video Decoding": "disabled", > "Video Frames Decoded": "371 (skipped=0)", Your machine uses software decoder to decode h.264. That's why your CPU usage is high. Then we need to figure out why you machine doesn't use HW decoder.
Assignee | ||
Comment 9•7 years ago
|
||
My guess is that your graphic cards is too old to be supported by Windows 10 for hardware decoding. When hardware decoding is disabled, Chrome uses ffmpeg which provides much better performance than Windows software decoder. To verify this install as per instructions here: http://bluesky23.yukishigure.com/en/DXVAChecker.html This will list the feature list, something like this : AMD Radeon(TM) R7 Graphics (Bristol 15W B10) MPEG2_VLD: DXVA2/D3D11, SD / HD / FHD MPEG2_IDCT: DXVA2/D3D11, SD / HD / FHD MPEG2_A: DXVA1, SD / HD / FHD MPEG2_C: DXVA1, SD / HD / FHD H264_VLD_NoFGT: DXVA2/D3D11, SD / HD / FHD / 4K H264_VLD_NoFGT_AMD: DXVA2/D3D11, SD / HD / FHD / 4K 6719B6FB-5CAD-4ACB-B00A-F3BFDEC38727: DXVA2/D3D11 H264_VLD_Multiview_AMD: DXVA2/D3D11, SD / HD / FHD / 4K HEVC_VLD_Main: DXVA2/D3D11, SD / HD / FHD / 4K EA72396A-67EC-4781-BEDE-56F498F04EF2: DXVA2/D3D11 C152CA8F-738C-461B-AD89-FC292CF8F162: DXVA2/D3D11 514A356C-7027-4AFF-8A60-AFD2C1F672F1: DXVA2/D3D11 VC1_VLD: DXVA2/D3D11, SD / HD / FHD CA15D19A-2B48-43D6-979E-7A6E9C802FF8: DXVA2/D3D11 MPEG4pt2_VLD_AdvSimple_AMD: DXVA2/D3D11, SD / HD / FHD H264_VLD_Stereo_Progressive_NoFGT: DXVA2/D3D11, SD / HD / FHD / 4K H264_VLD_Stereo_NoFGT: DXVA2/D3D11, SD / HD / FHD / 4K MPEG4pt2_VLD_AdvSimple_NoGMC: DXVA2/D3D11, SD / HD / FHD MJPEG_VLD_AMD: DXVA2/D3D11, SD / HD / FHD / 4K / 8K VP9_VLD_Profile0: DXVA2/D3D11, SD / HD / FHD / 4K 84AD67F6-4C21-419A-9F0B-24F0578906C1: DXVA2/D3D11 725AD240-786C-471E-AD3C-38F739936517: DXVA2/D3D11 95664FF5-9E03-4C74-BB4F-9178D6035E58: DXVA2/D3D11 5EF7D40D-5B96-49E7-B419-23342094A4CF: DXVA2/D3D11
Reporter | ||
Comment 10•7 years ago
|
||
Just found something with the media devtools extension, everytime I set the video to 720p 60fps, 1080p or lower reslutions the "Hardware Video Decoding" section is set to "enabled", but everytime I set the video to 1080p 60fps the section is automatically set to "disabled". So I'm guessing there is something in the code that for some reason disables 1080p 60fps video hardware acceleration. I notice it because I have an old underpowered computer but in other cases people with newer computers don't notice the video is not being accelerated by hardware. Could that be the issue?
Reporter | ||
Comment 11•7 years ago
|
||
DXVAChecker output: ATI Radeon HD 4600 Series MPEG2_IDCT: DXVA2, SD / HD / FHD MPEG2_A: DXVA1, SD / HD / FHD MPEG2_C: DXVA1, SD / HD / FHD H264_VLD_NoFGT: DXVA2, SD / HD / FHD / 4K H264_VLD_NoFGT_AMD: DXVA2, SD / HD / FHD / 4K 6719B6FB-5CAD-4ACB-B00A-F3BFDEC38727: DXVA2 VC1_VLD: DXVA2, SD / HD / FHD CA15D19A-2B48-43D6-979E-7A6E9C802FF8: DXVA2 5B23D46D-FA5F-4FDC-B78A-7EB2787942EC: DXVA2
Assignee | ||
Comment 12•7 years ago
|
||
Oh... I remember. You're falling under this case: https://searchfox.org/mozilla-central/rev/9bab9dc5a9472e3c163ab279847d2249322c206e/dom/media/platforms/wmf/DXVA2Manager.cpp#1250 Those graphic cards are known to not work well with 60fps videos. Returning corrupted frames, and sometimes even crashing. We had a bug in 56 and 55 were we incorrectly detected the frame rate, and so the hardware decoder was always used. It's likely what you are seeing in Edge. I guess we could add a preference allowing the user to override the safety. But at this stage, all is working as intended
Reporter | ||
Comment 13•7 years ago
|
||
It would be great if you could add the preference. I have hopes it would work since it works with Chrome and it works for me in previous versions of Firefox.
Assignee | ||
Comment 14•7 years ago
|
||
(In reply to Petes from comment #13) > It would be great if you could add the preference. I have hopes it would > work since it works with Chrome and it works for me in previous versions of > Firefox. what's the cpu usage when using chrome? can you check if it's using the hardware decoder? While a video is playing go to chrome://media-internals/ Click the button that's captioned with 'blob' and the video URL. In the table below, look for the value of video_decoder. If it says GpuVideoDecoder, Chrome is using the GPU.
Reporter | ||
Comment 15•7 years ago
|
||
The CPU usage using Chrome is between 45% and 90% The video_decoder value is "VpxVideoDecoder" Here is the full output just in case there's something relevant: render_id: 22 player_id: 36 origin_url: https://www.youtube.com/ frame_url: https://www.youtube.com/watch?v=fRj34o4hN4I frame_title: What's new, Atlas? - YouTube url: blob:https://www.youtube.com/b7b9f2fe-ee33-4087-a920-b535a7ebf606 pipeline_state: kPlaying duration: 54.621 found_video_stream: true video_codec_name: vp9 found_audio_stream: true audio_codec_name: opus audio_dds: false audio_decoder: FFmpegAudioDecoder video_dds: false video_decoder: VpxVideoDecoder audio_buffering_state: BUFFERING_HAVE_ENOUGH height: 1080 width: 1920 video_buffering_state: BUFFERING_HAVE_ENOUGH pipeline_buffering_state: BUFFERING_HAVE_ENOUGH event: PLAY info: Selected video track: [1] seek_target: 0
Assignee | ||
Comment 16•7 years ago
|
||
So you're using vp9 there. You can make Firefox behave like Chrome by setting media.mediasource.webm.enabled to true. Performance should be better even than Chrome. But I'd be more interested to see if Chrome behaves with h264 and the hardware decoder.
Reporter | ||
Comment 17•7 years ago
|
||
Thank you that did it, it's so much better now. I tried a clip from here http://www.h264info.com/clips.html and Chrome works excellent with h264 videos, low CPU and low GPU. If you need me to do some test with Chome just ask me.
Assignee | ||
Comment 18•7 years ago
|
||
Including 60fps 1080p H264 videos?
Reporter | ||
Comment 19•7 years ago
|
||
The video I tried was 30fps. If you point me to an 60fps sample I can test it.
Assignee | ||
Comment 20•7 years ago
|
||
here is one: http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4 If you want to play with various content (definitions, frame rates, codec etc) http://bbb3d.renderfarming.net/download.html
Reporter | ||
Comment 21•7 years ago
|
||
Ok, I tried the first video, works better in Chrome, the CPU goes between 20% and 40%, the GPU stays at 26%, the video pauses every few seconds but for less than a second. Firefox is worse because the video pauses a lot and for many seconds, the CPU goes from 20% to 100%, when it reaches 100% it pauses, then goes down to 20% and up again, then pauses again. The GPU stays a 0% and once in a while goes up to 41% max. I'd say it's only watchable in Chrome if you don't mind the constant pausing that lasts less than a second but for many people would also be unwatchable.
Assignee | ||
Comment 22•7 years ago
|
||
(In reply to Petes from comment #21) > Ok, I tried the first video, works better in Chrome, the CPU goes between > 20% and 40%, the GPU stays at 26%, the video pauses every few seconds but > for less than a second. > > Firefox is worse because the video pauses a lot and for many seconds, the > CPU goes from 20% to 100%, when it reaches 100% it pauses, then goes down to > 20% and up again, then pauses again. The GPU stays a 0% and once in a while > goes up to 41% max. > > I'd say it's only watchable in Chrome if you don't mind the constant pausing > that lasts less than a second but for many people would also be unwatchable. My question was about weither Chrome uses the hardware decoder for that video... To check using the instructions provided in comment 14. thank you
Reporter | ||
Comment 23•7 years ago
|
||
Sorry, here you go: render_id: 9 player_id: 0 origin_url: http://distribution.bbb3d.renderfarming.net/ frame_url: http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4 frame_title: url: http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4 total_bytes: 355856562 streaming: false single_origin: true passed_cors_access_check: false range_header_supported: true pipeline_state: kPlaying info: FFmpegDemuxer: skipping invalid or unsupported audio track debug: Warning, FFmpegDemuxer failed to create a valid audio decoder configuration from muxed stream audio_channels_count: 2 audio_codec_name: mp3 audio_sample_format: Signed 16-bit planar audio_samples_per_second: 48000 bitrate: 4486529 found_audio_stream: true found_video_stream: true height: 1080 max_duration: 634.533333 start_time: 0 time_base: 1/60000 video_codec_name: h264 video_format: PIXEL_FORMAT_YV12 video_is_encrypted: false width: 1920 audio_dds: false audio_decoder: FFmpegAudioDecoder video_dds: false video_decoder: GpuVideoDecoder audio_buffering_state: BUFFERING_HAVE_ENOUGH video_buffering_state: BUFFERING_HAVE_ENOUGH pipeline_buffering_state: BUFFERING_HAVE_ENOUGH duration: 634.533333 event: PLAY
Assignee | ||
Comment 24•7 years ago
|
||
Ok, I'll remove this limitation of the hardware decoder... it never made much sense to me. thanks for your help.
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → jyavenard
Comment hidden (mozreview-request) |
Comment 26•7 years ago
|
||
mozreview-review |
Comment on attachment 8931081 [details] Bug 1417973 - Always use the AMD GPU decoder. https://reviewboard.mozilla.org/r/202172/#review207536 Code wise this seems fine. Intent wise, this is your call, but when I wrote this code, we were doing significantly better in software for the machines that I tested on these videos. It's possible that this has changed (nv12? d3d11 decoder?), or maybe you're testing with different configurations (I used one of the QA machines in the Toronto office). Not saying you shouldn't do this, but just something to keep an eye on.
Attachment #8931081 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 27•7 years ago
|
||
Yeah, that's why I just didn't remove the code and set a pref. In this case it's possible to be 32bits vs 64bits. I had that processor a while back and it was significantly worse doing 32 bits code than 64. That was even more telling using ffmpeg. Could you test with this installer? 64,bits: https://queue.taskcluster.net/v1/task/JM7uhXaCTli2Uf6zAev4kQ/runs/0/artifacts/public/build/install/sea/target.installer.exe
Flags: needinfo?(zer0bot)
Comment 28•7 years ago
|
||
Pushed by jyavenard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/32e088078b10 Always use the AMD GPU decoder. r=mattwoodrow
Comment 29•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/32e088078b10
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Comment 30•7 years ago
|
||
Sounds like something that should ride the trains.
You need to log in
before you can comment on or make changes to this bug.
Description
•