37

I have a laptop with native screen resolution as 2560*1440. So that means it has 2560 pixels dot horizontally and 1440 pixel dots vertically.

I can also force the system to display as a screen with resolution as 1280*720 (which is basically 1/4th of the pixels when compared to 2560*1440). which forces the system to use 4 native pixels to display 1 pixel of the picture.

                   .    .
    .       -> 
                   .    .
[2560*1440]      [1280*720]

Similar effect when i keep the screen resolution at 2560*1440 and zoom of 200%. ie, to display every pixel of the picture, screen uses its 4 native pixels.

Still i see difference in the screen clarity between the two settings. Please see below for the screen shot of the two-

screen with 2560*1440 resolution with zoom of 200% enter image description here

screen with 1280*720 resolution (without any zoom) enter image description here

Can somebody explain the reason for this difference in clarity?

3
  • 2
    “which forces the system to use 4 native pixels to display 1 pixel of the picture.” – Not necessarily. Pixel Doubling is unfortunately not always used. // What exactly do you mean by “clarity”? Optimal quality can only be achieved with the native panel resolution, that’s a well-known fact.
    – Daniel B
    Jan 12, 2019 at 10:45
  • 2
    Look at both images closely, you could see the difference. The image capture when the system is configured with the resolution 1280*720 looks more pixelated. If you zoom the images you could make out the difference. While working on the system, the difference is pretty noticable. System with resolution 1280*720 looks more pixelated.
    – Darshan L
    Jan 12, 2019 at 11:00
  • I agree that optimal quality id achieved with native panel resolution. But here I am trying to understand what is happening under the hood in these two settings. Well, I might be wrong with the pixel doubling, that was my understanding. Anyways, can you explain clearly what's happening between the 2 settings.
    – Darshan L
    Jan 12, 2019 at 11:13

3 Answers 3

82

It looks like you are referring to "zoom 200%" in some OS settings.

When you use 1280*720 everything is rendered in this resolution and then scaled up as a bitmap (by your monitor). The final image indeed consists of 2x2 pixel blocks.

When you use 2560*1440 resolution with zoom of 200% then every object is scaled up first, then rendered in the full resolution. With a bitmap it may not make a difference but objects like TrueType fonts or vector graphics scale "smoothly", they can alter every available pixel separately. In effect the resulting image doesn't necessarily form 2x2 pixel blocks on your screen as in the first case.


Example

  1. Let's start with low resolution 4x4:

    grid4

  2. We draw an object described as "upper-left right triangle, 4x4, black":

    triangle4 on grid4

  3. The monitor gets the above bitmap and scales it to its native resolution 8x8, so each original pixel becomes a 2x2 pixel block:

    triangle4 scaled

  4. Now let's use 8x8 resolution from the very beginning:

    grid8

  5. We consider an object described as "upper-left right triangle, 4x4, black":

    triangle4 on grid8

  6. But we tell the OS to use 200% zoom. The OS recalculates the object and gets "upper-left right triangle, 8x8, black":

    trinagle8 on grid8

    This is then sent to the monitor and displayed.

Comparison:

triangle4 scaled trinagle8 on grid8

Note if we only had the original 4x4 triangle as a bitmap, the final result would be like the left one above, regardless if the scaling was done by the OS or the monitor. Mathematical description of the triangle allowed the OS to recalculate it to new dimensions and get the smooth image at the end.

In modern operating systems many GUI elements, fonts etc. are available as "mathematical descriptions" that may be recalculated smoothly to given dimensions (zoomed). The general term is vector graphics.

7
  • Yes, I am referring to the settings present in windows 10. There is a option like "Change the size of text, apps and other items". And there's a drop down list with values like 100%, 125%, 150%, 175%, 200%
    – Darshan L
    Jan 12, 2019 at 11:06
  • 2
    @DarshanL GIMP, but my work was with single pixels, as if I was in a most basic editor (MS Paint from some old Windows would suffice). Originally these red lines were 1 pixel wide. The files were then resized by the factor of 500% so they don't appear tiny here. Jan 12, 2019 at 13:04
  • 2
    Your example showing the result of scaling a 4x4 image to 8x8 is not the only way it can be done. It's also possible to do the scaling with anti-aliasing applied. In that case 16 of the pixels in the 8x8 version will contain the original pixel values, but those in between will be averaged values rather than copies. Not everybody agree on which approach looks best, but of course neither will look as nicely as a picture drawn in 8x8 pixels in the first place.
    – kasperd
    Jan 12, 2019 at 16:55
  • 8
    @kasperd: "It's also possible to do the scaling with anti-aliasing applied." No, it isn't. That's not "anti-aliasing"; it is filtering. It's interpolation between existing data. Interpolation can never eliminate aliasing; it can only turn aliasing into noise, which humans find more visually appealing. "Anti-aliasing" can only truly be achieved by techniques which take more samples, such as rendering at a higher resolution. Jan 13, 2019 at 3:05
  • 1
    @NicolBolas this kind of filtering is called anti-aliasing, because it does prevent aliasing. Yeah, it incurs smearing in its stead, but that's another issue. Jan 14, 2019 at 9:51
7

In addition to Kamil's excellent answer (graphics and text will be drawn at the improved resolution and therefore look better), MacOS and iOS actually allow the developer to use different artwork depending on the screen resolution. On a zoomed display, you may use artwork with additional details that wouldn't be readable on a lower quality display, and use artwork with fewer details for lower quality screens.

For example, in a word processor you might have an icon to create numbered lists. On a high resolution screen, that icon contains tiny numbers 1, 2, 3 which are just about readable. If that was scaled down to a low resolution screen, it would just be a blur, so for low resolution a hand designed lower resolution icon is used.

4
  • By artwork, do you mean background wallpaper?
    – JoL
    Jan 12, 2019 at 16:45
  • @JoL no, I believe OP means different files for the same image. On MacOS, iOS, and some others (like Android), the developer can put a different file with different image size and details for the same image depending on the screen resolution/Retina support.
    – Andrew T.
    Jan 12, 2019 at 18:14
  • Not only on MacOS, but also on BSD and GNU/Linux based operating systems. AFAIK Windows does this too Jan 14, 2019 at 6:07
  • All operating systems do this... Jan 14, 2019 at 16:50
2

Your first image has 2511x1151 pixels. The fonts are clearly rendered to the full resolution rather than half-resolution, so your "200% zoom" concerns just the rendering scale rather than its contents (unless, of course, the content is only available as a bitmap in the original resolution). Your image is better than you expected it.

Now assuming that we scale up prerendered content (I can do this on my desktop using ALT-scroll rather than CTRL-scroll but don't know how prevalent that may be on desktops other than XFCE), you might encounter the opposite situation: that prerendered content looks worse than at original scale.

In that case, you might be seeing the effects of subpixel rendering. In a nutshell, red, green, and blue subpixels are on slightly different locations and subpixel rendering incorporates this information for rendering shapes that are slightly better than those rendered without that knowledge. Of course, when scaling up or printing or viewing on a screen with different color specifics, the subpixel relation of the rendering intent is no longer valid and the results may look worse than what you'd want to.

In a way, this is a variant of the "blocky" look when rendering on a device with more exactly rectangular pixels than what the intended display device was.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .