Selection Filter on 4K monitor

I am having an issue on viewing the options for the Selection Filter dialog. On the left is what I expect the Selection Filter dialog to look like. On the right is how the Selection Filter dialog appears on my screen.

I am using Rhino 7 SR4 2021-3-19 (Rhino 7, 7.4.21078.01001). My monitor has a resolution of 3840 x 2160, and I have the scaling set at 300%, which is recommended by Windows 10 Pro 20H2.

FWIW I have the same monitor resolution and the same Windows release, but the scaling recommendation is 150% - maybe try that and see how it pans out? Thereafter you could try upgrading Rhino to the latest SRC (I’m running 7.5.21096.11001, 2021-04-06).

The majority of programs over the past decade were primarily developed to work best at FullHD 1920x1080 screen resolution, so if you use a 4K TV or monitor (4 times more than 1920x1080), it’s recommended to set the Windows 10 scaling to 200%. That gives you a proper scale of the icons and text at 4K comparable to how they appear on a FullHD screen, except that they are much sharper in 4K. 150% scaling is not good, because it will try to render original 2x2 pixels as 3x3 pixels on the 4K screen, eventually causing a slightly blurry image. This is especially noticeable when you work on FullHD images on a 4K screen that uses 150% scaling, or see them with an image viewer at full screen mode. Or if you watch FullHD or 4K videos on YouTube. For comparison, a FullHD image or set of icons designed for FullHD resolution set at 200% scaling on a 4K screen will render original 2x2 pixels as 4x4 pixels. This is the best possible ratio for scaling, because each pixel is doubled.

By the way, I also use a 4K TV as a working monitor, and my Windows 10 Pro recommends to use 300% scaling, but I set it at 200%, because I noticed that some programs and especially images don’t perform good optimal at 150% and 300% scaling.

This looks similar to what I posted awhile back with my 4K screen and 225% scaling. I think the toolbar stuff is buggy on 4K screens.

1 Like

225% is a very strange scaling factor, and typically Windows gets a bit confused to scale certain elements on some programs with anything that’s not 200%, 400% etc. For example, some icons of Google Earth Pro and ACDSee 5.0 (a very old version of ACDSee which is better than the newer iterations) have problems with rendering at 150% and 300% scaling on a 4K screen. Both programs were developed back in times where the optimal resolution was 1920x1080. Google Earth Pro still has problems with scaling. Here is how it looks at 4K resolution and 300% scaling.

Sorry Bobi, but I don’t see any physical reason why 2x2 rendered as 3x3 becomes blurry but 2x2 rendered as 4x4 is best possible. Can you point me at an explanation?

Regards
Jeremy

It’s related to the multiplier factor of the pixelated graphics (icons, menu fonts etc). The blurriness of the image happens on some older programs and games, because they rely on pixelated icons rather than scalable vector ones. A program with icons designed to run primarily on 1920x1080 screen resolution are scaled best on a 4K monitor with 200% scaling, because each pixel of the original image is multiplied by 2, resulting into 4 pixels (2x2) of the screen rendering a single pixel of the image. 4 is divisible by 2. However, if the scaling is set to 150%, then 1 pixel of the image (pixel-pased icon, font etc) will need to be rendered on 1,5x1,5 pixels of the screen, thus resulting into a slightly blurred image, because modern screens can’t split a physical pixel into two halves. Old CRT monitors didn’t had that disadvantage and were capable to render non-native custom resolutions without artifacts. Also, some programs simply refuse to scale correctly if the higher resolution forced by Windows is not divisible, so instead they render certain elements at some random scaling factor which is divisible.

Here is a comparison with ACDSee 5.0 running on Windows 10 set to a scaling of 225% (first image) and 200% (second image). You can clearly notice that the “exotic” scaling of 225% is definitely blurrier, because the resulting image sent to the monitor is not divisible by its physical pixel resolution. On the other hand, the 200% scaling is sharper, because each pixel of the image is rendered by 4 (2x2) physical pixels of the monitor. The problem with the font and icons in the old ACDSee 5.0 program is that they were designed many years ago to work on monitors with resolution up to 1920x1080 (that was the highest consumer screen resolution at the time) and are pixel-based instead of vector-based, thus they become pixelated if scaling is used and can never look sharp like the visual elements of modern programs that use vector-based icons and fonts. It also happens with desktop icons of old programs that are pixel-based and look funny next to modern vector-based icons that have an unlimited ability to scale at any resolution (the same reason why Rhino’s icons are primarily developed as vector graphics and then converted to pixel icons in Rhino).

225% scale:

200% scale:

Hi Bobi,

Thanks for the extensive reply which is very helpful (and thanks for not simply saying the more brutal “Think about what happens to a single pixel, dummy”!)

Regards
Jeremy

1 Like

Modern GPU cards should be able to render screen resolutions at 250% with anti alias hardware acceleration. My screen does not look blurry at this setting on my 15 inch monitor, or my eyes are just bad. The Selection Filter dialog appears correctly at this setting.

4K resolution will become more common in the future; does Mcneel have any plans to readdress this in the future?

It’s exactly the anti-aliasing processing that produces the unwanted blur at scaling numbers that are not divisible (150%, 300%, 225%, 250% etc). It’s very noticeable on my 43" 4K screen, and I work at about 80 centimeters (31,5 inches) away from it. The additional anti-aliasing also increases the lag by at least one frame (approximately 16,7 milliseconds at 60 frames per second refresh rate).

Since you use a 15" screen, the blur may not be too noticeable at that size. Also, to see the difference you need to use a 4K monitor. Here is a close-up piece of my screen-shots that compares the 200% scaling (top) with the 225% one (bottom).

Wow, I would never reply in such a harsh way. :slight_smile: I prefer to explain what I mean exactly and give examples, because that way my words will be easier to understand.

1 Like

This discussion of display scaling is interesting, however it’s off the subject. This is not a problem with Window’s display scaling itself, it is a problem with how Rhino is programed to deal with the display scaling (maybe). The symptoms that @graham_best showed in his first post are not a result of a Window’s display scaling problem, it’s a Rhino display error.

In fact, it may not be related to the Windows display scaling level at all - that was my possible theory/suggestion, but it may not be accurate. The only way to know will be for Graham to test at various scaling levels and see if the problem goes away - I suspect it won’t. Graham, can you also run SystemInfo in Rhino and copy/paste the results here? This could also be a video driver problem.

As far as Windows display scaling goes @Rhino_Bulgaria , the perception will be quite different if you are looking at it on a 43" 4K monitor or a 15.6" 4K laptop screen. On the 43" monitor the pixels are 2.75 times as large. I work on my laptop at about 45-50 cm from the screen, that’s 1.75x to 2x closer than you at 80 cm from your 43" screen. Therefore my perception will be that the pixels will be only 65% of the size you see them on your screen. At that level, ‘blurriness’ caused by viewing an image composed of pixels which have been scaled up by Windows at a non-even power of 2 multiple and then scaled back down by your eyes/brain/viewing distance is probably minimal. And the fact is that if the icons are too small for someone’s comfort at 200%, it’s a far worse situation than having them larger and slightly blurrier at 225% or 250%.

Here’s my screen with Display Scaling set to 300%:

And here it is set back to my usual 150% (after I’ve laboriously put the panels back where they belong):

So by using Graham’s setting I can reproduce his problem (and make Rhino unusable!) but it goes away when I adjust to a more practical setting.

(this is on a 32" monitor, normally viewed from 60-70cm)

Yep, I also was able to reproduce it here setting my scaling to 300%.

That gets back to my original theory and something I have also tested out with my toolbar problem mentioned in the other thread - it’s definitely a Rhino UI programming problem, when the dialog box exceeds a certain fixed number of screen pixels, this occurs. So increasing the display scaling makes the dialog occupy more screen pixels, and when it “hits the wall” of that hard pixel count, the problem happens.

As the Selection filter is set to ‘snap’ to fixed column and row widths, I don’t know where this actually occurs, it’s fine at 250% scaling and goes wonky at 300%.

Edit:
After more tests the "wall’ seems to be at a column width of 300 pixels or more.

At 250% scaling on my 4K screen the single column selection filter dialog box here is 284 pixels wide and displays OK - below are the full the results in a table:

250% - 284 px - OK
260% - 290 px - OK
270% - 300 px - OK
275% - 305 px - Bad
280% - 312 px - Bad
300% - 335 px - Bad

Voilà… The toolbar problem is similar, the limit seems to be pretty close, at around 294 pixels.

1 Like

I wonder if, in practical terms, it matters? When I went up to 300% I lost so much drawing canvas that Rhino became effectively unusable and I’m entirely happy at 150%. On my Surface Book where I am looking at 3000x2000 pixels on a 13.5" screen I only go to 200%. I suppose that when laptops move to 8K screens 300% might be necessary, but until then Rhino seems to work OK within the useful range. Anybody out there who actually wants to use 300% now, please shout out!

It matters to me simply out of principle - and the fact that this same mechanism is already affecting my custom toolbars that have wide, text descriptive buttons at a far lower scaling level. So I think if they understand where this is coming from, they can fix both. It may in fact be due to some limitations with the Windows standard elements they use to create the dialogs.

While I agree that blurriness is less noticeable on a much smaller laptop screen compared to a 43" screen, a non-divisible scaling ratio (225%, 250%, 300% etc) will always cause blur and some older programs even have problems with this kind of scaling and Windows 10 will render certain elements of their interface in a divisible scaling despite having a non-divisible scaling. For example, if Windows 10 is set to scaling of 225%, such program may have some UI elements at 200% scaling or 400% scaling instead (both divisible by 2), but others will be at 225%. This is exactly what happened in the case of the OP @graham_best .
I have a 15,6" FullHD laptop and a 17,3" FullHD laptop. The text on both models is easy to read and the icons are the optimal size. A 15,6" 4K laptop with 200% scaling from the Windows 10 settings has the same size icons and text like a 15,6" FullHD laptop without scaling, except that the 4K one will render the icons and text much sharper.

That problem usually happens with older programs whose UI elements are based on raster graphics (fixed pixels that get worse as they get scaled) rather than vector graphics (ability for an unlimited scaling without loss of quality).
The majority of old programs (and games) have UI elements entirely or partially drawn as pixels, including fonts drawn as pixels. They are not scalable and always look either pixelated or blurred when they are not rendered at native resolution. The modern programs and games usually have vector-based UI elements that don’t depend on the resolution.

Don’t think so, in varying the scaling here (check my post above) the size of the SelectionFilter dialog varies correctly according to the scaling - it does not jump as you indicate.

Edit: Here is the selection filter from my laptop at 300% scaling - note that the text and the dialog are the correct size vertically, it is just that the dialog box cannot manage make itself wide enough to accommodate the text when the scaling is over 270%.

(helps to attach the image…)

However the little double arrow in the upper right indicating there is more dialog that can be expanded is definitely the wrong scale, looks like only at 100% in this case.
image

I have seen similar behaviour on several programs old programs that I use. Some UI elements they have scaled correctly if “exotic” scaling is set in Windows 10’s settings, but other UI elements are definitely scaled at different number. So, essentially those programs have UI elements with two different scale factors rendered simultaneously.