Hacker News new | ask | show | jobs
by mahkoh 849 days ago
That is not the case on wayland. Wayland applications with support for the fractional scaling protocol can render without any blur at any fractional scale.

This is because the protocol negotiates the size of the underlying buffer. If the client and the compositor agree on the scale, then no scaling of the buffer will happen in the compositor because the client has attached a buffer that is the exact pixel size size of the window on the physical display.

It is up to the client how it implements the case you described. E.g. it could alternate between 1 black and 1 white pixel in the physical buffer or it could sometimes make two adjacent pixels the same color.

Source: I was involved in the design of this protocol and we had example clients that used this exact pattern. Chromium also supports this protocol without any blur.

1 comments

> E.g. it could alternate between 1 black and 1 white pixel in the physical buffer or it could sometimes make two adjacent pixels the same color.

This is a very odd definition of "no blur".

It works in chromium without anything I'd call blur. Here it is at 175% scale: https://i.ibb.co/DtKm69d/image.png
Does the scaling change the kerning of the letters? This looks horrific! (and, yes, blurry, or "antialiased" as is custom to name it).
This looks fantastic to me. Also antialiasing is not the same as 'blurry', it is factional values in pixels that have fractional coverage.
> factional values in pixels that have fractional coverage.

This is also the definition of blurriness.

I think the screenshot looks fine (other than the weird kerning), but I can see how one person's antialiasing could be other people's blurriness

This is also the definition of blurriness.

This is not true in any sense, but it is what some people think when they don't know much about the underlying principles and just see fractional pixels.

A blur would be lowering the frequency of an input signal, anti-aliasing is representing that signal more accurately when quantizing it into discreet values.

Do some animated aliased 3D renders then try to blur it to get the same result as an anti-aliased version.

Look at a checkerboard pattern as it goes into the distance. The pattern eventually converges into grey if it is antialiased because the integral of everything under the pixel is grey as the squares end up smaller than a pixel. Blurring the entire frame gives a much different result.

No, that's just the font I'm using. It's the same if I keep the scale at 1 and then zoom in the browser.
Have you considered using a good font?

Having people with no understanding of, or worse no interest in, beautiful UIs making decisions for the display server is a worry.

It doesn't look horrific at all to me
yeah the kerning is bad when using that thing. It's bad on my laptop too.
IMO, it looks like exactly what you'd see if you took pixel perfect rendered text and applied a small-radius Gaussian blur to it. It might look different on your screen, however (monitor settings can affect rendering quite a lot).
Chrome natively scales; however, any bitmap image shown it will be blurry.