Chromium jpegxl issue closed as won't fix
issues.chromium.org
issues.chromium.org
My boss said no.
And closing an issue because of a personal attack from one person on the Internet seems like an overreaction.
I did some searching, found nothing. What do you mean by this statement?
The raster/vector dichotomy is a bit orthogonal to this and perhaps not quite the right choice of words. PNG is still a raster format as it stores the final pixels. Only that it's better suited for images that originated from a vector source, rather than images that have been rasterized out of a camera CCD or a video game engine.
PNG will normally get at least 2:1 compression on photos, I think worst case with a image of each pixel being a different color of 16 million pixels it still had around 35% compression.
2:1 is much less than jpeg which would probably be around 10:1 for photo, its definitely better than nothing, and the big thing here is its lossless unlike jpeg.
It's not naive, it's just not lossy like jpeg. Jpeg XL also supports lossless with around 35% better compression than PNG so that means may 3:1 vs 2:1.
"At least"? I tried with the first photo on the wikipedia home page: https://en.wikipedia.org/wiki/File:City_Building_Champaign_I...
Saving it as a 24-bit bmp (ie. uncompressed) gets me 12,180KB. Saving it as a PNG gets me 7,157KB, which is 1.7:1
PNG does have some tuning parameters that can effect the final size usually just speed vs size.
For huge majority of (even picture heavy) websites you won't get more than 10% of loading time reduction even in the cases where JXL most superior.
JXL downscaling is practically a free operation that allows you to very effectively deliver multiple image sizes from a single copy.
JXL -> JPEG re-encode is very cheap and results in nicer looking, better compressed JPEGs than using traditional JPEG encoders.
And for formats like PNG, JXL should be able to hold that same data in roughly the same size (or less) without any visible data loss (or none at all for a slightly larger filesize). So converting down to PNGs at different sizes just becomes it's own pipeline if you still need that (over JPEGs or JXLs).
It's the first thing close to a universal image format which is part of the reason some people push so heavily for it.
My guess is that the newest/latest JPEG encoder developed by Google researchers, Jpegli[2], has a lot to do with this. Jpegli has been described in a Reddit comment as "a JPEG encoder that was developed by the JXL [JPEG XL] folks and the libjxl psychovisual model" and described to have superior performance to WebP (lossy WebP) [3]. that whole reddit thread has comments relevant to this discussion, specifically about the tradeoffs of supporting extra formats in browsers.
[1] https://www.techspot.com/news/101764-google-once-again-accus...
[2] https://opensource.googleblog.com/2024/04/introducing-jpegli...
[3] https://www.reddit.com/r/programming/comments/1ajq7bj/commen...
I mean that's the problem, isn't it.
Chrome just gets to decide and they'll cite your non-use to support their decision.
Chrome is the blocker.
Even just re-encoding a JPEG XL image into old-school JPEG using the modern JPEG XL techniques (or just directly encoding into JPEG XL style JPEG) will result in a higher visual quality and better compression ratio than just creating a normal old-school JPEG.
Said JPEG XL style JPEG encoder (fully backwards compatible with existing JPEG decoding): https://github.com/libjxl/libjxl/tree/main/lib/jpegli
If you look into the architecture and design rationale of JPEG XL you'll notice that even if you don't use it as a downstream image format, just keeping it as your "source format" can give you a lot of benefits for your image encoding and delivery pipeline.