There is a drive to higher and higher resolution computing (and audio-visual equipment) and 4K laptops are rapidly replacing hi-res laptops; this term defines the native resolution of the hardware. This has resulted in a problem of monitor settings on computers, how to use them and how software behaves on these computers.
If a 15-inch laptop is purchased that has a native 4K resolution, then if you set the laptop screen to native resolution the display will have very small scale and apparent fonts sizes will often be very difficult to view. To solve this a user can set the “Scale and layout” on a PC to a lower value – for example my 4K PC laptop recommends 250% - making everything bigger by 250%. This option has been around for a number of years on Apple Mac computers as ‘Retina Display’ but is the same effective problem – the hardware and monitor have a very high resolution – too high for most users as the image is too small. The 4K option is sensible when we drive a physically large external monitor at native resolution to give very good quality view and lots of “real-estate”, so it would be normal to have mixed setup so that a laptop internal display is scaled, and the external monitor is run at native resolution. The 4K screen will also appear very “precise” and non-pixelated even when scaled. So this provides a nice display of course.
So why is this important?
One important note is that it is “unwise” to run an external monitor with lower native resolution than the hardware resolution of the computer. The results will be very compromised in quality. The second problem is that the correct connector should be used to match the resolution, using VGA with 4K monitors is certainly not-optimal! The issue here is that if a user upgrades their computer, they must upgrade the monitor to equal or better native resolution. The second problem is all their loaded software.
There are two issues with software and high-resolution hardware and monitors, the first is that the software compiler and libraries need to be compatible with very large image buffer found at high resolution, and then there is the scaling issue when software is used on monitors run with non-native scaling. As already noted, this is certainly the case with 4K laptops where the internal monitor is just too small to be run at 4K, try it and see – on a PC go to the display and set the “Scale and layout” for your laptop to 100%, you might need a magnifying class to set it back again.
What does the user see when software does not fully support display scaling and high resolution?
- The software does not draw the view at the apparent native display resolution, so even when set to 4K the software appears to show lines thicker than expected and without the “high-quality” expected. Java 1.8 and lower has this problem and all Java code compiled with version 1.8 or lower will never have good high-quality display and appear “soft”.
- The software will not apply scaling correctly which means that 1-pixel wide line (at 4K) can disappear when a 250% scaling is applied, since it literally does not draw some of the pixels, or the lines will appear pixilated since it is being drawn at lower resolution and rendered by the display chip rescaled. The software needs to render the display at a larger size so that screen resolution 250% scaling drops it back correctly as a good view.
- Icons or buttons don’t get scaled and are drawn as if it is a 4K screen resolution so they appear tiny.
Another issue for software is that down-scaling to non-native resolution affects performance to such an extent that a program running on a monitor at 4K might have a refresh rate at 70 fps, but when run on a monitor with 250% down-scaling will only realise a refresh rate around 35 fps. This of course appears counter intuitive but is a problem of the computational complexity of display down-scaling, if the hardware is 4K then the program must draw things in 4K – but to render the image with scaling the image buffer must be down-scaled.
Extent of the problem
This issue used to be the preserve of Apple Mac and its Retina Display, but with the advent of hi-res, 4K and 8K hardware in windows (and Linux) this is becoming a universal problem for computers. Every piece of software must be designed to handle the native high-resolution monitors and the down-scaling problem; this affects Vortex directly and all web-based products from Dotmatics indirectly via the support in Browsers.
And for the user?
Of course, the user should not need to worry about this, they should quite rightly expect software to work out of the box. They should, of course, use compatible monitors with computers and connect these components correctly but beyond that they will likely need to upgrade software to recent versions that handle these new resolution specifications. Certainly, old programs will have multiple issues of tiny icons, poor quality display on good quality hardware, disappearing lines or “soft” lines on down-scaled monitors and so on.
Dotmatics provides an instance of Vortex on the download site for 4K and higher resolution, and still provides the older version since this looks better on hi-res monitors. All development of Vortex is carried out in 4K mode to make sure all features are compatible in future. As for web based Dotmatics software, this of course, as noted is at the mercy of the browser.
Then there is the Java 1.9 and higher version problem – and that is a different (long) story.