Since I’ve been forced to create an account to use Rhino now, I might as well use the account here and post some questions.
Rhino user since v3.
This version is using new resizable toolbar icons that are presumably being scaled down from larger assets. Compared to Rhino 7, on the same PC, at smaller sizes, they are fuzzier. I don’t know what the native resolution of the images are, but the new rendering is much harder on the eyes than v7. I’ve tried several different settings for the toolbar icon sizes, but they are all pretty bad like this.
My screen is 125% DPI 5k screen and I am running Windows 11. I don’t think this is a DPI awareness issue (although it appears just like one), though, because most text renders just fine. It’s only the toolbar icons.
Rhino 7 in front of Rhino 8. I’ve tried several different icon sizes in settings but they all look pretty bad.
That train has indeed left the station, the V8 icons are no longer raster images, but vector files (.svg).
While theoretically infinitely scalable, they have to be converted back to bitmaps at some point to display onscreen. At some icon sizes and display resolutions/scaling they can look fuzzier. In any case they are somewhat “bolder” than the former bitmaps, whether that’s by design or not, I don’t know.
@Pete_Brown can you run _SystemInfo in Rhino 8 and post back the results?
In Rhino 7, what’s the size of the icons you are using? Small, Medium or Large?
Windows 11 (10.0.26063 SR0.0) or greater (Physical RAM: 64GB)
.NET 7.0.16
Computer platform: DESKTOP
Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2080 SUPER (NVidia) Memory: 8GB, Driver date: 9-12-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 537.42
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0
- Secondary monitor attached to adapter port #1
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)
Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 9-12-2023
Driver Version: 31.0.15.3742
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8 GB
They look a bit better in the new dark mode (a feature I was looking forward to anyway), although some of them really need to be re-colored to stand out better against that.
To my eyes the thicker lines are just less crisp, so it’s unclear if this was a deliberate design decision or an unintended side-effect of some other process step
Here’s a blow up where the differences in anti-aliasing are quite visible, especially on the rectangle tool and the vertical edge of the cursor and the square edges of the “control points” (none of which should require any AA)
Definitely looks like it could related to the compositing approach using underlying SVG’s - a lot of applications (on Windows in particular, including many native OS older dialogs) have become a bit messy in attempts to manage the onset of high density displays with so many different pixel densities out there
That information seems pretty outdated, though. I believe the toolbar images had another redesign in 7→8.
The main UI in Rhino is written using tech that understands different DPIs and vector images, but how they are ultimately rendered is based on a lot of factors including, if these start as bitmaps still, how much downscaling is happening.
That particular implementation described in those docs has been superseded - but the treatment described about their applications for how to achieve proper re-scalable icons and particularly how to avoid unnecessary aliasing artifacts are timeless.
We see some good technique demonstrated for working within the 24 x 24 icon format - and how sharp lines can be preserved along side optimally aliased angled lines.
However the current source SVG to arbitrary icon/screen-size rescaling is being currently performed - it seems like some cues could be taken from these docs.