Linked by Thom Holwerda on Sun 4th Sep 2016 00:10 UTC
BeOS & Derivatives

Haiku uses a custom vector image format to store icons. This is surprising both because most OSes consider bitmaps to be totally sufficient to represent icons and because there are plenty of vector graphics formats out this (e.g. SVG). The goal of the Haiku Vector Icon Format (HVIF) is to make vector icon files as small as possible. This allows Haiku to display icons as several sizes while still keeping the files small enough to fit into an inode (i.e., inside a file’s metadata). The goal of keeping the icons in the metadata is to reduce the disk reads needed to display a folder - it also each file to only require one disk read to display.

This blog post examines the details of the HVIF format using a hex editor and the canonical parser's source code. In the process of dissecting an example icon, I'll also show you an optimization bug in the icon image editor.

Great article.

Permalink for comment 633905
To read all comments associated with this story, please click here.
RE: svgz?
by le_c on Sun 4th Sep 2016 07:09 UTC in reply to "svgz?"
Member since:

Here is some more info:

Zeta had gz svgs but they are still too big...

Moreover, Haiku icons support different level of details (can svg do that?):

Reply Parent Score: 2