Custom icons look worse in Scrivener 3 ? / General scale of UI

Recently installed Scrivener 3 and very happy with some of the changes - looking forward to making my new writing home here!

One issue bugging me is that the icons imported from my project look really bad in the binder. After exploring a bit, it seems not to be an issue with the quality of the icons from Scriv1 to Scriv3 (icons in both programs compress to 16x16px with 96x96 resolution) but that the binder icons are about twice as large, so the pixilation is very noticeable.

I don’t need my icons to be high DPI, but if they look this blurry, I’d really like the ability to shrink the icons down so they aren’t so distracting. (This would also be great because it would make my binder more compact à la my old Scriv1 setup.) Otherwise, I don’t see how you can get much mileage for custom icons at such a low resolution. Unless there is something about my custom icons’ format/file type/etc. that is problematic?

Details
My original icons are 256x256 with 72x72 resolution .ico files. Scrivener 1 compressed them down to standard size and converted to PNG, but they looked fine. I had compatibility issues with S1 on my Win10, so I ran it on Win8 with high DPU disabled. This might explain why I’m used to smaller icons, but I grew to prefer it that way. (FWIW, I messed around with those settings for Scrivener 3 but it didn’t seem to do anything, so all my startup settings are back to default.)

Thankfully, the text-to-icon feature made MANY of my custom icons obsolete! I’m still stuck to a few enough to look for a solution, though.

This might have to do with the migration of the Scrivener code to a Qt project. The Qt library might be handling icon display somewhat differently. If L&L support is not able to provide a better solution for your problem, I would try to play around with the icon resolutions that you place into the .ico file. For example, try to add 32 x 32 version or a 128 x 128 version. And perhaps also to remove the 256 x 256 version. It could well be that they take the largest version and scale that down to a predefined size, or that they are trying to match with one of the pre-scaled icon sizes, but don’t find the correct icon size and then scale it. Generally, icons that are scaled on-the-fly (i.e. without anti-alias and proper interpolation and sharpening) tend to show as relatively low quality and blurry. So the trick is, to offer an icon files with just the right resolution in it.

Remember that one of the advantages the Qt 5 framework gives is better high DPI handling routines – there was a lot of work in the beta to get display scaling issues worked out. Having multiples sizes of icons is definitely a consideration, based on your display settings and preferences.

It’s a good idea… to your advice I exported an icon from 256 down to 128, 64, 32, and 16 and imported each of them going up. Also tried it with x64 resolution instead of x72 (not sure if that matters). It reliably produces the same blurry icon.

To give credit where it’s due, I had major scaling/compatibility issues with Scriv1 whereas Scriv3 had nothing of the sort. The new preset icons look great too.

This feels like an exploit but I dragged the 256px icon into the “icon” folder in my project and… it worked!? Looks great! I’m not sure if this is recommended though. Try at your own risk.

To me, 32px alone looks indistinguishable from 256px in the binder, so I’ll probably only import 32px icons here.

1 Like

That’s perfectly fine to do! The custom icon system is pretty simple, it just assigns them according to the filename of the icon on the disk, there is no index or anything.

That said, I think if you import at 32x or 64x through the Manager window, I think the quality should be very similar to copying the files in manually. It may depend on the type of graphic, but when I tested a simple checkerboard pattern (which is susceptible to blurring when scaled), all four tests looked identical.

1 Like

I agree that 32px and 64px look very similar - my trouble was that importing it through the manager on my end scales it down to 16px, which does have a noticeably lower quality.

Here’s a test on my machine with this icon of an atom:

icon quality

(I accidentally tested using 256px which is overkill, but same takeaway.)

1 Like

Ah yeah, I see, 16x for all the imports on my end as well, even though the display engine clearly seems to be capable of displaying more pixels than that. Are you on a standard resolution screen by the way (I am). Just wondering if anyone on a high-res screen gets different results.

Well clearly there is an advantage of using the folder directly, rather than the manager. In fact the only thing I’d use the manager for right now is changing the names of icons—so that it can update the references internally as well.

My computer is 1920x1080. I can’t find the resolution setting in Scrivener though, is it in the settings dialog?

That sounds like standard resolution to me, unless your screen is tiny. I’m not talking about Scrivener though, but how many pixels your screen has as a physical property of the hardware itself.