Hacker News new | ask | show | jobs
by cb22 1249 days ago
I just did some quick testing on my XPS 7390 2-in-1 (i7 1065G7) with Wayland:

  * Idle @ 50% brightness, WiFI on: 3.5W
  * mpv + hardware acceleration: 15W
  * Firefox + hardware acceleration: 19W
  * Firefox software decoding: 29W
The test video was https://www.youtube.com/watch?v=LXb3EKWsInQ - which is 4k 60 FPS and got scaled to 1920x1080 for display.
2 comments

Huh, that's the video I use to test hardware acceleration too.

Good taste.

The difference is much more pronounced at lower resolutions. 4K60 is not handled efficiently by any hardware.
That's the opposite of my experience. Depending on the decoder, lower resolutions may be more efficiently handled by the CPU instead of the hardware decoder (which is a decent chunk of silicon and takes extra power to use). But once you hit a certain resolution, the hardware decoder is pretty much always way more efficient than a software CPU decoder. Some well-implemented hardware decoders even handle low resolutions more efficiently.

My experience is largely focused on battery-powered mobile devices (Android/iOS), though.

To give a concrete example, VAAPI Haswell integrated graphics, peak CPU usage:

  mpv hardware H.264 1080p60: 3% CPU usage
  mpv software H.264 1080p60: 20% CPU usage

  mpv hardware H.264 4K60: 96% CPU usage
  mpv software H.264 4K60: 80% CPU usage
There comes a point of diminishing (or in this case, negative) returns. A bit more subjectively, the H.264 software rendering at 4K60 also felt smoother.

I'm using H.264 as it is hardware accelerated on this platform.

I don't think all Haswell chips support 4k H.264. That's one downside of hardware decoders: they have limits on what they support. I suspect the decoder is actually falling back to a software implementation to handle the bitstream since the hardware can't.

For example: https://www.avsforum.com/threads/no-hardware-4k-h264-decode-...

"Offloaded decoding takes more CPU than non-offloaded decoding" doesn't make any sense - clearly something else is going awry here.
I have desktop product that among other things decodes 4K60P using MMF. The decoding part either decodes straight into DirectX texture if hardware based video decoding is supported or does it in software otherwise.

Software based path causes significant CPU load. Using hardware path keeps CPU at about 0%. Since hardware video decoding supported nearly on any modern Laptop, Desktop I would say 4K60 is handled very efficiently.