I don't know what you're talking about really... I was just using Google Slides today and both Firefox and Chrome went to 250% CPU usage, only because there was one slide with a 5 seconds full screen recording GIF. I begged to the person who added it to turn that to a video.
The saving bit is the only part which doesn't work right with videos AFAIK. Sound-less (/muted) videos can autoplay and loop, and there's no controls unless you ask for them (via the `controls` attribute) or bring your own.
The examples in the article (the scenes are videos) autoplay, loop and don't have control in either Firefox or Safari.
There are related problems like embedding. If you upload a video to Slack, say, you can’t control whether it autoplays or loops. If you upload a GIF it just works.
Your opinions are just that, and usually overridable by the client. The client could even strip your media entirely.
And gifs are pausable (used to be ESC though apparently you now need extensions).
> This way the format has no choice but to behave as expected across everything.
I've got bad news for you: once it reaches the client you're not in control anymore, you can only suggest behaviour.
IMG would autoplay, would not have sound, would loop, and would not have controls.
VIDEO would be the opposite. For something like a plain JPG or PNG file, it just shows the one frame. Animated GIF files would of course benefit from the controls.
The same should go for unification of the VIDEO and AUDIO tags. Play an audio file as video, and you get a black screen with sound. Play a video file as audio, and you just hear the sound.
[1] https://calendar.perfplanet.com/2017/animated-gif-without-th... [2] https://bugs.chromium.org/p/chromium/issues/detail?id=791658
Why do you hate my phone battery so much?
Your average smartphone can play 1080p video without breaking a sweat, not so with 1080p gifs. Hell, a laptop will have permanent high-CPU usage on 1080p gifs, as a video it's background noise (https://www.reddit.com/r/osx/comments/43rrf0/pixel_art_gif_a...)
That's downright hostile to the end user…
https://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-pause...
If browsers made it such that I couldn't not stop .gif animations (or playing video, or...), I would trash that browser.
Bluntly, you do not get to control my computer.
Human sight has evolved to be attracted to movement.
That's... not entirely accurate. What do you think is rendering all those gifs to screen?
https://www.hampsterdance.com/classics/originaldance.htm
Just did it on my 2011 MacBook Air. Pushes all four cores up... about 15%.
15% of 4 cores ~ 60% single core capacity. That's distinct from saturating a core both qualitatively and quantitatively, which means the prediction is not a bullseye... but it's on the order of magnitude in impact, which means they're not entirely wrong.
Two cores went up 20%. The other two didn't budge. Go figure.
edit: such as https://giphy.com/sports/2019-stanley-cup-playoffs which seems to be entirely gifs if you view page resources in the debugger.
There is an AV1 "image" format too, which supports "image sequences" but not, oddly, animation.
You can express the “lossless frames” aspect of GIFs today in existing video ways supported by MJPEG, H.264, H.265, or AV1 today.
AV1 image sequences are meant for sharing an album of stills, and are not a convenient shortcut for this.
Feeding a sequence of frames into `aomenc --lossless=1` should, assuming everything else is working correctly.
I believe looping is not currently a property that you can readily set at the codec level, which is perhaps the most critical missing feature of AGIF when considering codecs.
Perhaps focusing on the “loop” flag’s presence/absence and whether it’s honored by browsers would most usefully serve the post-GIF world?
Should AGIF continue to autoplay when in more efficient other formats it may not?
I agree that there won't be wide adoption of AV1s until it can transparently be interacted with just like gifs are now.
It doesn't seem like it mostly because browsers (slowly) decode GIF as they (slowly) download it, and cache all uncompressed frames in RAM. They don't do the same for <video> tag, because they assume it's only for high-res, non-looping video.
• GIF data is huge. 15x-20x times larger for the same dimensions & quality than normal video codecs, and sheer amount of bytes to chew through eclipses any savings from it being slightly simpler.
• GIF's compression doesn't support any parallelism. Frames have to be processed bit by bit, frame after frame. Your multi-core CPU can use only a fraction of its speed when decoding. OTOH modern formats support parallelism on all levels - frames, tiles within frames, blocks, transforms. Modern CPUs can process these very effectively.
• In modern systems RAM is ridiculously slow relative to computing power available on the CPU locally. However, GIF's LZW is based on lookups in a dynamic dictionary, so not only you have just one CPU core process it, the core mostly spends time chasing pointers.
• There's no hardware acceleration for GIF. For newer codecs it's quite common and very power-efficient.
There's no technical reason (other than legacy code) stopping browser vendors from treating AV1 just like GIF, with all looping <img> glory. In fact, Safari already supports H.264 in <img>! It's faster in every way.
Which is why I can't wait for GIFs to die.
I remember this myth, saying that the first moon landing required as much computing power (command central, ship etc.) as rendering a GIF. No mention about the resolution, frame speed and so on, though. Hence I think it's a myth. On the other hand you could probably tune those parameters enough to actually make it a true statement ...
You could even argue that GIFs not being a video with no video decoding required is a feature. It may take longer to load, but I can have 100+ GIFs playing at once with no impact to my CPU.
I don't care about video compression or hardware decoding or whatever until they function the same way as GIFs do.