by dirkf on 12/7/23, 8:47 AM with 120 comments
by solardev on 12/9/23, 5:42 PM
Early in PNG's history, we already had this issue with alpha channels, progressive rendering, and hit-or-miss support for APNG (animated PNGs, meant to replace GIFs but never happened).
It was also an issue for a long time for PSDs and SVGs, where the same file never looked the same on two browsers/devices/apps/versions.
I would bet that these days, generating or decoding PNGs is the bottleneck almost nowhere, but extending the format would cause problems everywhere in real-world usage. Apps and companies can no longer tell whether there's something wrong with their image or if somewhere in the pipeline, some new graphics designer decided to use a bleeding-edge version of a 30-year-old graphics format that nobody else accounted for, and it looks "broken" in half the browsers now. A format can still look broken even if it's "backward compatible", just by virtue of having some features (like HDR) that are only displayable in some renderers but not others.
Why not just make a new format instead and have browsers & devices fall back as necessary, like we already do with webp and srcsets?
by ebb_earl_co on 12/9/23, 4:07 PM
What a brilliant paragraph. I wish this developer all the success in the world.
by Voultapher on 12/9/23, 4:37 PM
by gumby on 12/9/23, 5:33 PM
The world needs more work like this. I’m talking about the thoughtful image format but also that applies to the write up too.
by fbdab103 on 12/9/23, 5:29 PM
For lossless, what is typically the most efficient size wise? Decompression speed?
For lossy?
I am not in a situation where these micro-optimizations mean much to me, and always default to png, but curious to know where the state of the art is today.
by summerlight on 12/9/23, 8:10 PM
by Retr0id on 12/9/23, 6:35 PM
* If you're wondering how that works in a backwards-compatible way, DEFLATE already supports uncompressed blocks.
by tedunangst on 12/9/23, 9:45 PM
by notfed on 12/9/23, 5:00 PM
For CPNG-aware libraries, the performance improvements sound impressive.
For old (CPNG-unaware) libraries: should I expect any performance drop reading a CPNG image compared to if the image had remained PNG? Similarly, how much larger will a CPNG be than a PNG?
by TheFuzzball on 12/9/23, 6:12 PM
by brookst on 12/9/23, 4:18 PM
Also speaks to either wise or lucky design of PNG itself, that it can support these kinds of backwards-compatible extensions.
by ericskiff on 12/9/23, 4:15 PM
by jancsika on 12/9/23, 6:16 PM
Could you do an image of SBF that falls back to an image of Madoff?
by ComputerGuru on 12/10/23, 4:57 AM
by snshn on 12/10/23, 3:02 AM
by vzaliva on 12/9/23, 4:54 PM
by jbverschoor on 12/9/23, 6:04 PM
by Exoristos on 12/10/23, 6:32 AM
by topsycatt on 12/9/23, 5:33 PM
by phront on 12/10/23, 12:30 AM