As the title says, I'm wondering which one can be rendered by DO faster. My gut feeling tends to ICO, because that's what Windows has been supporting since ages, and they're cached, at least Explorer does. And I thought maybe whatever DLL the apps call to get ICOs, also makes Windows cache ICOs. On the other hand I looked into a few DO themes and they use a single PNG divided by columns. So probably DO caches the PNGs internally as well and is optimized for scaling PNGs up and down.
The reason why I'm asking is, I have multiple hires png's which I plan to use as toolbar icons and in status column without downsizing them myself and just leave it to DO. If you'd say, "Use ICO, they're faster" then I'll create them in advance, but I suspect you'll say "the overheads are negligible, they're all cached"
If we're talking toolbar icons, an icon set made from large PNGs (one per icon size) is generally best.
Anything packaged as an icon set (.dis file) should be fine, since Opus will convert those into one large PNG anyway, and the PNG is saved to disk to speed up loading the next time.
Loading a new or modified icon set, or changing DPIs, causes the cached version to be recalculated, so that may be slower if it uses individual icons inside the .dis file, but that doesn't happen often.
The main thing to avoid is icons in lots of different files outside of an icon set.
Thanks for the quick reply Leo as always! That definitely gives me some insight.
I am not planning to design an icon set though, the default icon set it perfect for my needs. It's more about buttons I add for external apps or custom scripts, and also the status column, which I'm planning to use more. The status icon in particular seems to accept no icons from themes or OSPs, only external files, but ICO & ICL work fine. What would you recommend in that case? Preparing multiple ICOs, or even an ICL package is no problem with IcoFX. I only want to help DO to render it faster.
Icon sets don't have to replace icons. They can add new ones as well. If it's for toolbar buttons, they're the fastest option.
Status icons have to be something the Windows shell understands, so .ico, .exe, .dll, .icl. I'm not sure which is faster. Best thing to do is measure it. (.exe and .dll may be slow due to virus checkers; possibly the same with .icl if it's really a .dll file renamed.)