Could the CPU load be reduced? If I am only on the page, not even playing any music yet (probably because something is blocked), I get 1 core up at 100% CPU load. This can't all be for an animated background image, can it?
It appears that every GIF frame is a Chrome paint (which makes sense) but a way to make the GIF static or turn off the GIFs would reduce paints down to basically nothing.
If it's only a few frames you might be able to arrange them vertically in a PNG and animate background-position to get the same effect for cheaper.
Correction: you want to use transform to force creation of a new rendering layer, then when adjusting the rendered position of the element using transform will not cause a repaint.
To go in the opposite direction, if you wanted to add an option for people fine with large CPU/GPU expenditure (i.e., if this were playing on a dedicated TV in an actual café), it might be fun to add a WebGL canvas and make lofi/vaporwave-inspired effects [0].
I actually really like this feature when playing music for a whole room on my OLED TV. People like watching the fancy graphics and I get to dodge a tiny little bit of burn in.
It might be cool to needlessly spin up a CPU/GPU for no reason other than not being familiar with a more effectient method of doing something? I don't know where you come from, but that's not my definition of cool at all
Hinted at with lower bandwidth requirements, but the biggest win with video is their stellar compression. GIFs store every single color value, which is why they get so huge so quick.
Hey, just wanted to let you know I've just pushed a "low-energy" mode that will remove some elements and effects on screen. On my Mac (MBP with M1 chip) it makes the webview go from 40% CPU to around 10-15%.
reply