Safari 13.0.2 versus Firefox 70.0 versus Chrome 77.0
Playing the same YouTube video at the same quality (1080p) and watching Energy Impact in Activity Monitor while the video played, I saw averages of: Safari used 20, Firefox used 45, Chrome used 45.
So on that task at least Safari is still king, but Firefox is on par with Chrome.
~6,4W average in Safari 13.0.3
~8,6W average in Firefox 70
More work is planned to reduce the energy usage for scrolling and full screen video. Though I guess for your example you don't watch things fullscreen.
> Safari’s compositor is entirely Core Animation based; Safari basically skips step 2.
(Step 2 is "the Firefox “compositor” assembles Gecko layers to produce the rendering of the window")
Anyway, I imagine that's the price to pay for being crossplatform. You can't implement everything for every platform. Safari only has to work on macOS/iOS.
Speaking for Chrome's implementation, efficiently rendering video on macOS does require CALayer compositing, but it's not sufficient.
Only certain types of decoded frames can be efficiently scanned out (different from the types that can be used efficiently in OpenGL compositing). Actually entering the most efficient fullscreen video mode requires some magic. Matching macOS behavior exactly when a fallback to OpenGL compositing is required can be difficult (eg. colorspace bugs can result in flickering).
I have not looked at the new code in Firefox, but I would expect that not all of the benefit would be realized in a first release. In any case it's a huge undertaking to support a single platform; congrats to the team for making it happen!
This is why, for example, Safari does not have 4k video on Youtube, while being perfectly capable of playing 4k videos in general.
Depending on the machine, VP9 can be decoded in hardware on Firefox on Windows, but chip support is limited.
All that said, we're working on our video playback performance as we speak, especially on OSX (because it was so bad a few release back), but also in general.
I found this extension that forces FF to use H264 instead: https://addons.mozilla.org/en-US/firefox/addon/h264ify/
On my old MBP I'd rather consume more bandwidth than more more CPU.
Web Render might allow doing it properly, since the rendering is not on the CPU anymore.
iina is open source and have a lot of codec available.
I don't know if it change something on energy consumption, though.
mpv https://www.youtube.com/watch?v=oHg5SJYRHA0