Open Bug 1410846 Opened 8 years ago Updated 6 months ago

Video decoding causing locked 100% GPU load on AMD graphics cards

Categories

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

57 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: squiddingme, Unassigned)

Details

Attachments

(4 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0 Build ID: 20171019140425 Steps to reproduce: Issue may be specific to AMD hardware, is corroborated by two other users both running RX 480s (and I myself am using an RX 470 with the 17.10.1 drivers, though the previous driver also suffered the same issue): https://www.reddit.com/r/firefox/comments/747kjs/gpu_load_stays_at_100/ https://www.reddit.com/r/firefox/comments/75at5p/there_is_a_weird_bug_with_youtube_in_the_new_beta/ Watching YouTube videos with hardware acceleration (media.hardware-video-decoding.enabled) enabled. Possibly VP9 decoding problem specific to AMD? Actual results: Causes the GPU load to lock to 100%, which persists even after closing Firefox. Can only be fixed by restarting or logging out. There are no issues with playback itself (no stuttering etc). Expected results: Playback without locking GPU load to 100%.
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Using h264ify to force H.264 video on YouTube prevents the problem from happening, so I suppose that means it is likely related to VP9 decoding.
(In reply to squiddingme from comment #1) > Using h264ify to force H.264 video on YouTube prevents the problem from > happening, so I suppose that means it is likely related to VP9 decoding. Thanks for this information.
Priority: -- → P2
Jya, Any suggestions that how should we check it?
Flags: needinfo?(jyavenard)
Kyle, any suggestions on this? VP9 decoding is now enabled by default in Firefox 57.
Flags: needinfo?(jyavenard) → needinfo?(kyle.plumadore)
What tool are you using to measure GPU usage? Is it through AMD Radeon Settings? From what I understand from reading through the threads, GPU usage is reported as 100% but game/3D performance is unaffected. This points to an issue with the tool incorrectly reporting 100% GPU load... also considering this 100% sticks around after the vp9 decoding process is exited. Let me know what measuring application is used and I'll take a look to get a better idea what might be going on.
Flags: needinfo?(kyle.plumadore)
(In reply to kyle.plumadore from comment #5) > What tool are you using to measure GPU usage? Is it through AMD Radeon > Settings? > > From what I understand from reading through the threads, GPU usage is > reported as 100% but game/3D performance is unaffected. This points to an > issue with the tool incorrectly reporting 100% GPU load... also considering > this 100% sticks around after the vp9 decoding process is exited. > > Let me know what measuring application is used and I'll take a look to get a > better idea what might be going on. Checked across HWmonitor, HWinfo and ASUS GPUTweak. The clock speeds and temperature rise according to what the driver believes is the GPU load, even though it doesn't actually appear to be under load and has no affect on 3D performance. However, the Windows 10 task manager in the Fall Creator's update correctly reports GPU load (typically 0%), I guess it might be tallying the real GPU load by analyzing processes, rather than reading directly from the driver. I'm not sure how much can even be done in Firefox since it's probably a quirk in AMD's drivers, but Chrome doesn't have the issue so they're somehow avoiding it.
Chrome doesn't support the AMD VP9 decoder (at least not by default - you need to launch chrome with the flag --enable-accelerated-vpx-decode=2 - although from what I've heard that's broken with the most recent chrome build (v62 but v61 is fine). There's various ways an application can read GPU utilization - either via standard OS api's (what task manager would use), or through vendor extensions. I'm guessing that the usage of the VP9 decoder somehow triggers the GPU load monitoring code in those apps to malfunction - but it could also be due to our own reporting of GPU utilization through our extensions. Let me see if I can repro on my side and do a bit of digging to see what those apps have in common that could cause this.
Oh, I thought Chrome did support AMD VP9. I don't suppose Edge supports it (for further testing)?
For better or worse, Chrome never enabled it by default - it's behind the command line argument. Edge does not support it. I'm trying to reproduce the issue but so far no luck. I see the GPU usage bounce between 0 and 100% in hwmonitor during playback but it never sticks at 100. I'm using a RX 480 + 17.10.2 web posted drivers + hwmonitor 1.32. This machine hasn't updated to the fall creators update yet. Is there anything else that I could be missing? I can try to update to the Win 10 fall creator's update to see if that makes a difference.
It's possible the fall creator's update might have something to do with it. The only thing else I can think of that's different from stock Firefox is the extensions I have installed (uBlock, Tampermonkey, Multi-Account Containers, Reverse Image Search, Reddit Enhancement Suite).
Attached image chrome_idle.png
I can confirm this. After watching a youtube video, Firefox prevent the GPU going back to idle states and GPU load stays at 100%, even when i close Firefox. User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 Windows 10 x64 Pro Radeon RX 480 Adrenalin 18.2.3 Test Video https://www.youtube.com/watch?v=XIbM1IVbJaU& PC Power Consumption: Idle: 48-50 Watt Firefox nigthly + Test Video: 103-109 Watt Chromium 61+ Test Video: 60-63 Watt And this is a pretty nasty result!
Attached image chrome_video.png
Attached image firefox_idle.png
Attached image firefox_video.png
(In reply to kyle.plumadore from comment #5) > From what I understand from reading through the threads, GPU usage is > reported as 100% but game/3D performance is unaffected. This points to an > issue with the tool incorrectly reporting 100% GPU load... also considering > this 100% sticks around after the vp9 decoding process is exited. The 100% GPU load might be not correct, but the GPU core clock and VDDC stay in power state 7 and my PC consumes nearly 50 watts more. Checked with ENERGY-CHECK 3000. (In reply to kyle.plumadore from comment #9) > I'm trying to reproduce the issue but so far no luck. I see the GPU usage > bounce between 0 and 100% in hwmonitor during playback but it never sticks > at 100. https://youtu.be/z24V1ZJYJtc
Same issue, using Intel iGPU + Radeon RX 480.
Hi, same issue here using firefox 59.0.1 and a Radeon RX480 with 18.3.3 Amd drivers. I confirm h264ify as working workaround. Closing "AMD Relive:Desktop overlay" AND "AMD Relive: Host Application" solves the issue as well.
Same issue still on Nightly 61.0a1 with 18.3.4 drivers. h264ify is still a workaround.
Severity: normal → S3
Restrict Comments: true
Priority: P2 → P3
Restrict Comments: false
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: