How do I force my graphics card to decode streaming videos?
January 3, 2021 7:49 AM   Subscribe

I recently bought a 4K monitor for my Windows 10 PC. Streaming videos look a bit choppy when played at 4K, probably because my CPU is doing all the work to decode them.

When I play downloaded MP4 files using VLC Player, the graphics are smooth as silk, and Task Manager shows that the GPU is doing the video decoding. But it's a different story when I play 4K videos through a browser. The videos don't look terrible, but they have a slight-but-annoying choppiness to them. I've been using this test video from YouTube, but Netflix exhibits same problem. Microsoft Edge (my default browser) and Google Chrome both have the same problem.

When I bring up Task Manager, I see that the CPU is at or near 100%, and the GPU is pegged at zero for video decoding. Under Windows Settings, "Play HDR games and apps" is turned on, "Stream HDR video" is turned on, and I have Microsoft Edge set to High Performance.

Here are my system specs:

Windows 10 64-bit
Intel Core i7 3770K (socket 1155)
32 GB RAM
Internet connection: High-speed fiber optic line (working fine)
Graphics card: AMD RX570 (this specific model)
The AMD Radeon software is up-to-date
Video cable: DisplayPort
Resolution / frame rate: 3840 x 2160 at 60 Hz
Video Codecs:
Type	Name	Format
ICM	Cinepak Codec by Radius	cvid
ICM	Intel IYUV codec	IYUV
ICM	Microsoft RLE	MRLE
ICM	Microsoft Video 1	MSVC
ICM	Microsoft YUV	UYVY
ICM	Toshiba YUV Codec	Y411
ICM	Microsoft YUV	UYVY
DMO	Mpeg4s Decoder DMO	mp4s, MP4S, m4s2, M4S2, MP4V, mp4v, XVID, xvid, DIVX, DX50
DMO	WMV Screen decoder DMO	MSS1, MSS2
DMO	WMVideo Decoder DMO	WMV1, WMV2, WMV3, WMVA, WVC1, WMVP, WVP2, VC1S
DMO	Mpeg43 Decoder DMO	mp43, MP43
DMO	Mpeg4 Decoder DMO	MPG4, mpg4, mp42, MP42
What am I missing here?
posted by alex1965 to Computers & Internet (15 answers total)
 
Isn't this a setting in browsers, under hardware acceleration? Do a search for AMD chrome hardware acceleration, and see if that helps your issue.
posted by bbqturtle at 7:54 AM on January 3, 2021


Response by poster: @bbqturtle: Thanks for the suggestion. Edge had the hardware acceleration turned off. I set it to "On", and then rebooted. (Google Chrome already had acceleration turned on). Unfortunately, there isn't any difference. The YouTube video is still slightly choppy, and the GPU video decoding is still flatlining at zero.
posted by alex1965 at 8:09 AM on January 3, 2021


You might try telling the OS to go for the big power GPU instead of the CPU

I've run into this many times, it hobbles GPU acceleration repeatedly for several applications.
posted by nickggully at 8:24 AM on January 3, 2021


Response by poster: @nickggully: Thanks, but I did that already earlier, and I didn't see any difference.
posted by alex1965 at 8:27 AM on January 3, 2021


Youtube these days usually serves VP9-encoded video. That's a slightly unusual codec and I don't know that any Windows system has an official installed codec for it. I think VLC uses its own codecs, not what's installed on the system. I'd also expect most browsers to do that. I don't see a VP9 codec installed with this tool but I'm getting VP9 GPU decoding in my browsers.

Verify that's what type of video stream you're getting by watching a 4k video like this, manually selecting the highest resolution, and then right clicking and choosing "stats for nerds".

On my desktop system with an NVidia 1080, both Firefox and Chrome are using GPU decoding for me. The Youtube video stream is vp09... (272), audio is opus (251).

I like the suggestion that power management could be the culprit, although it'd be an awfully stupid choice. Are you on a laptop or desktop?
posted by Nelson at 8:30 AM on January 3, 2021


Response by poster: @Nelson: Thanks for the tip. This is what I'm seeing. Edge seems to be using the vp09 codec, but you can also see that there are multiple frames being dropped. By the way, I'm using a desktop PC.
posted by alex1965 at 8:40 AM on January 3, 2021


See if tips here help?

https://community.amd.com/t5/drivers-software/chrome-hardware-acceleration-problem-with-lag/td-p/359018
posted by kschang at 8:51 AM on January 3, 2021


Response by poster: kschang: Thanks, I'll check it out.

For what it's worth, Firefox seems to work noticeably better, with less choppiness than with Edge or Chrome -- and with lower CPU utilization. But Firefox still drops some frames, and there is still zero GPU decoding of the YouTube video.
posted by alex1965 at 9:18 AM on January 3, 2021


I'm no expert by any means, but I watch almost all my shows in the form of local files on a big 4K monitor, and I pay attention to Task Manager, and I just want to add that I almost *never* see the Task Manager report much of anything in the "video decode" section other than an occasional blip here and there. Someone who knows better please correct me, but I suggest you de-emphasize the video decode graph in your investigations. FTR I have a i7-7700K and a GTX 1080, and am using VLC most of the time, outputting to a 4K TV over HDMI, the what I said also hold true for streaming stuff from YouTube.

Also this one is afaik the most common very high def test reel: Peru 8K HDR 60FPS (FUHD)
A lot of HTPC reviews always include that in their testing so it seems like it's kind of a benchmark of sorts.
posted by glonous keming at 9:47 AM on January 3, 2021 [1 favorite]


Upon observation I want to modify what I said above. I was watching some videos on udemy.com and it was population the video decode graph to about 10%, then I went to double check VLC and it was showing some as well in a video. I don't know what I was on about in my previous comment. Apologies.
posted by glonous keming at 11:26 AM on January 3, 2021


Best answer: Your specific GPU (AMD Polaris, the RX4xx and RX5xx series) doesn't have built-in decoder hardware for VP9. In Windows, the GPU drivers have provided "hybrid decode" capabilities, where it offloaded some work to the GPU's graphics processing cores (i.e., not video-decode hardware, but using the part of the GPU made for 3D graphics rendering). However, it seems in the past two years or so that this capability has been removed, so your system cannot use the AMD GPU to help decode VP9. Your Intel CPU's integrated GPU may be able to do hybrid decode still, so it might work better to point the browser at the iGPU if you can. Not sure.

References from which I pieced this together: 1, 2, 3, 4, 5.

FWIW, it sounds like Firefox is more likely to enable the hybrid decoding for you if that is possible with your drivers (one person reported it did at one point when Chrome did not), and if not, then it sounds like Firefox has a more efficient software decoder for VP9 than Chrome. Either of those (probably the software decoder difference) could explain why Firefox works better for you.
posted by whatnotever at 1:05 PM on January 3, 2021 [1 favorite]


Best answer: > Your Intel CPU's integrated GPU may be able to do hybrid decode still, so it might work better to point the browser at the iGPU if you can. Not sure.

Broadwell/Skylake gained hybrid decode acceleration for VP9, that's 5th- and 6th-generation Core chips and not the 3xxx or 3rd generation chip of OP.
posted by k3ninho at 1:14 PM on January 3, 2021


Response by poster: @whatnotever and @k3ninho -- thanks for the answers. What's the story with Netflix, if I can ask a follow-up question?
posted by alex1965 at 1:35 PM on January 3, 2021


This plugin for Google Chrome will try to get an H.264 video stream from YouTube if one's available, and in that case your GPU will (almost certainly) be able to take the load. I'm not aware of similar things for Netflix, but it might be worth searching.
posted by ambrosen at 1:44 PM on January 3, 2021


Best answer: > i7 3770K

Your i7 won't do the job for 4k h264. The hardware decoding is done by Intel's Quicksync technology - https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video and the Sandy Bridge CPUs won't do it. (Some H264, no HEVC (common with 4k) and no VP8/9 (Chrome, 4k.)

So, it's the GPU that's gotta do the work.

And this https://www.reddit.com/r/Amd/comments/gedn65/radeon_hardware_acceleration/ seems to indicate that VP9 hardware acceleration (YT, 4k, Chrome) is out.

Then it's just crash it through the browsers - what we want is a 4k H264 stream; I don't know/think YouTube ever delivers that. I'd try edge and Firefox. Then use that browser for Netflix.
posted by filmgeek at 2:47 PM on January 3, 2021 [1 favorite]


« Older Older parents just contracted COVID. How can I...   |   Are Review Site Rankings Real? Also, I need a... Newer »
This thread is closed to new comments.