SVG UI icons

This is just a suggestion to GPSoftware for some future version of Opus.

Since the high DPI is a norm these days, Opus might use (or at least support) SVG icons in its UI rather than old school multi-sized raster images. Since the SVG is a vector format, icons could look pixel-perfect on any screen DPI and in any size.

I have to admit though, I don't find the current icons to be fuzzy (except perhaps the Opus icon in the taskbar), but this could enable users to change the size of icons to any size while retaining 1:1 sharpness.

FWIW I had a pleasant experience in my own UI project with this small header-only nanosvg library.


Having played around with vector icons, I don’t think it makes much sense. (We’re using them inside the program in a few places now.)

At large sizes, scaling (larger) bitmaps works fine already.

At small sizes, so much manual hinting and tweaking of the vectors is required that you essentially end up making individual versions for different sizes, which may as well then be turned into bitmaps to keep things simple.

The vector art tools I tried were all severely lacking when it comes to making icon grids, and many can’t even align to a pixel grid properly based on line thickness, which is essential for icon art.

SVG icons are one of those things that seem like a great idea in theory but most of the benefits disappear in reality.

Of course, you can still make icons using vectors and then render them down to bitmaps as a final step. The icon set system in Opus allows you to specify different bitmaps and sizes for different DPis.