3 ms·
In the first paragraph they say: > QOI has become my default choice for embedded image assets. Embedded means they are working on stuff with low amounts of st
by atoav 4y ago
In the first paragraph they say:
> QOI has become my default choice for embedded image assets.
Embedded means they are working on stuff with low amounts of storage, computing speed and memory. If you are developing for embedded you are developing for electronics products typicyally. Every byte you can shave off can ultimately increase the return on investment. Using a traditional image format on embedded might not be possible because you don't have the program memory to store a complex decoder. If you decoder is 10 times bigger than the assets it is meant to decode, maybe there is not so much benefit in using it.
The simplest decoder you can go with would be just storing the value of the pixels in a bitmap and teading that out of that array. This however has the downside that you got no compression on the assets at all. If you have very simple color spaces (e.g. 1bit), tiny resolutions and few assets this might be an acceptable choice, but the choice gets worse as you get more assets, higher resolutions more channels or more bits per channel.
That means according to the author there is a space between just storing bitmaps and just using a png decoder where there were no good goto solutions before and they found a good solution with QOI.
- Dylan16807 4y ago> That means according to the author there is a space between just storing bitmaps and just using a png decoder where there were no good goto solutions before and they found a good solution with QOI. What space? I feel like that's an assumption you're making and it might be true or it might not be, but even if you're right that's very vague and I want more specificity.
- pizza 4y agoQOI lies between uncompressed images and entropy coded compressed images. It also happens to work heuristically quite well for such a simple spec. Maybe its defining feature is its simplicity, foremost (and as a consequence of that, speed, secondarily)
- Dylan16807 4y agoI know where it lies on the compression spectrum, I'm asking what use case prefers it.
- pizza 4y agoWherever the codec has to be as small as possible and do as little as possible while not caring about the payload size
- Dylan16807 4y ago"As little as possible" sounds like RLE or not compressing at all to me.
- skitter 4y agoArticle mentions images embedded in the application, not computers embedded in another device.