The PNG file format is essentially ZIP(BMP), trying to compress the raw pixels in a pretty naive way. It works extremely well for diagrams and large blocks of identical colours. But for real-world photos, AAA game screenshots, or even just linear gradients, it doesn't offer any size compression at all.
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.
>But for real-world photos, AAA game screenshots, or even just linear gradients, it doesn't offer any size compression at all.
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.
I just did the same in preview on my Mac (export TIFF uncompressed - 12mb -> export PNG) and got 5.4mb so 2.2:1 and on https://cloudconvert.com 4.6mb with default settings.
PNG does have some tuning parameters that can effect the final size usually just speed vs size.
Using plain gzip -9 on the 12MB uncompressed image, i get 6953 KiB, smaller than your PNG. Using a stronger gzip compressor (zopfli) i get as little as 6294 KiB.
I did some searching, found nothing. What do you mean by this statement?