Why does fractional scaling in Ubuntu 22.04 show a warning message about impacting performance?
Sebastian Wright
It has been a couple of years since Ubuntu added Fractional Scaling to the Displays settings.
At the beginning there was the following warning which attended the user:
May increase power usage, lower speed, or reduce display sharpness
Now, in 2022, I am using Ubuntu 22.04 and the warning is still there. I was hoping that fractional scaling had become mature enough in all these years, but it seems not.
So:
- What is wrong with fractional scaling in Ubuntu?
- What is the technical difference between 200% and 125% which causes the first one to not need warning?
- Why is there no such warning for fractional scaling in Windows?
1 Answer
There's nothing wrong or immature. Just because Windows doesn't tell you about the performance impact and drawbacks of fractional scaling doesn't mean that it doesn't exist.
To understand this tooltip you must understand how pixels are arranged in a display.
If you have a 1920x1080 (1080p) display, that means there is a grid of 2,073,600 pixels arranged in 1920 columns and 1080 rows.
When you use fractional scaling, you are changing how items on the screen are rendered in this grid.
With 200% scaling, the computation to render these pixels is very easy. All you need to do to render 200% scaling is to render every single pixel as a square of 4 identical pixels.
A grid of 4 pixels at 100% scaling (normal):
x y
Y XIs rendered as 16 pixels in 200% scaling:
x x y y
x x y y
Y Y X X
Y Y X XThe pixels can be scaled in a way where pixels can be duplicated perfectly without division. The image will retain its sharpness because the pixels can be perfectly duplicated.
If you use 125% scaling, this simple multiplication is not possible. In order to render the image, pixels would need to be divided into parts that are smaller than a single pixel. But pixels can't be divided this way, so there is additional computation required to artificially create a pixel mapping at 125%.
This not only requires additional computation, but since those pixels cannot be multiplied without remainders, it can cause the image to appear blurry when compared to 200% scaling or no scaling.