>A great way Chrome can render content faster is to take advantage of the multi-core CPUs and advanced GPUs present in today’s devices. Multi-core means we can do multiple kinds of work in parallel. For example, Chrome parallelizes running JavaScript, scrolling a web page, decoding an image or video,

I've noticed that Firefox is not as smooth as Chrome when playing 4k video. This has been an ongoing issue experienced by many for several years: https://www.google.com/search?q=firefox+4k+video+stutters

I just re-tested this on the latest Firefox 93.0 and while it pegs an entire cpu, the playback performance is still jerky and unusable. And changing the oft-suggested setting of "gfx.webrender.all = true" still doesn't resolve it.

I don't know what Chrome is doing differently but 4k playback just works with the default settings.

Over the past ~10 years, I've come to the conclusion that it's best to just pipe high quality video streams into a cross-platform external video player like mpv[0][1][2].

I can't remember what Firefox uses internally to decode/display different video codecs (ffmpeg like mpv? system builtins? hardware media encode/decode, like on the M1?), but I've always found that, through yt-dlp[3]/ streamlink[4] integration, a native external video player like mpv is better able to support high quality video streams without constantly dropping frames or tanking the performance of the tab/browser.

I can't put my finger on exactly why browser video streams feel so bad to me, but they do. Maybe it's the DOM overhead, or maybe it's something else. My personal takeaway is that browsers still just aren't optimized enough for fast/performant video playback.

[0]: https://mpv.io/

[1]: https://github.com/grmat/play-with

[2]: https://addons.mozilla.org/en-US/firefox/addon/play-with/

[3]: https://github.com/yt-dlp/yt-dlp

[4]: https://github.com/streamlink/streamlink