top | item 46518697

(no title)

tarentel | 1 month ago

Not sure how that would help. SVGs aren't natively handled on iOS. They get rasterized during build time and that's what gets shipped with an app.

discuss

order

throw10920|1 month ago

Huh, is there a requirement that they be rasterized at build time? If I had a choice, I'd rather ship the SVGs in the bundle alongside a renderer like ThorVG and render at runtime. The renders could even be cached if the rendering itself was expensive.

fingerlocks|1 month ago

If you’re including these assets as UI elements, they would be rasterized anyway and copied to a GPU bound buffer for the frame blit. Doing so at compile time increases runtime performance.

You can of course override this behavior and redraw your vector every 8.3 ms if you want, but I promise you that this is not faster. For sparse pyramid-tiled vector images like Google/Apple maps, this is a two step process using the latter method followed by the former.

beloch|1 month ago

Historically, raster graphics won out because they used less resources. Perhaps that's changed. If so, it would make sense for various OS's to start working on native support. Irix did it in the 90's. It can be done now.

seec|1 month ago

Yeah but I would argue that they just used cheaper ressources since historically has been cheaper than compute.

It's not clear if compute can be cheaper than storage still today.

On one hand you can afford to use less storage but you have to use GPU power everytime to draw graphics, if the chip can support the compute requirement you can save on storage, but you pay with higher power draw at every interraction.

On the other hand you can just put more storage, chip assest that are rendered for the device they'll be used on and be ok.

Outside of crisis like now, storage should be cheaper in the long term I think. I doubt there is that much benefit in having assets being able to resize to any arbitrary resolution. The definition used in phones isn't that far away than what is used in laptops, monitors and now even TVs.

Something to think about is that icons/assets often need to change shape slightly as they become smaller or bigger for optical reasons. So even if you manage a fully vector scaled UI, you might still need to have difference depending on DPI to reading distance ratio. Rasterized assests might still be the real answer for a very long time.

Considering how bad is the iOS 26 release on performance, because of its dynamically computed interface, I'm not sure it's worth pursuing vector UIs, it doesn't make a lot of sense to make a more powerfull chip just to draw prettier or more "pure" interfaces...