compression on 4K screens proposal

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
sthalik
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Tue May 01, 2018 9:32 am
Contact:

compression on 4K screens proposal

Post by sthalik »

Hey,

Please hear my argument as for why forced compression is a good idea for 4K screens.

The option to force-compress all loaded sprite sheets exists, isn't meant to go away anytime, but there's more than can be done. I think there's a decent amount of people with low VRAM like me. Sorry for not structuring the text in sentence form, but it's easier to write and understand this way.

Context about 1080p vs 2160p, compression, and DPI:
    (1) Compression in fact lowers sprite quality significantly
    • 1. Validated objectively with the PSNR metric
    • 2. Semi-objectively validated with the SSIM metric[1]
    • 3. Validated subjectively by making a looped .gif of compressed+vanilla sprite sheets
    • 4. You can fully replicate these tests using imagemagick and some shell one-liners. Make sure to use DXT3 and not DXT5 due to alpha transitions.
    (2) 4K screens have much higher pixel density.
    • 1. My old phone had a 720p screen, this one has a 1080p screen. These are budget phones. Despite that, I can't ever see the details as clear as a 27" 1080p screen.
    • 2. According to an online calculator, my 43" 2160p screen has pixel density of 102.
    • 3. According to the same tool, my old 27" 1080p screen has pixel density of 81.
    (3) Pixel density per its definition only involves one dimension.
      (4) Corollary: We'd rather take a radial/diagonal Euclidean metric to get the effective density as we perceive it with width and height.
      • 1. See link in (2) for a 200x200px box as a common-sense example.
      • 2. For the old screen, diagonal density is 10404. For the new one, same is 6561.
      • 3. You can see that having a 2D screen, pixel density scales quadratically, and in any case superlinearly.
      (5) Taking that into account, I was forced to use 175%-200% DPI scaling in Windows. Otherwise it's too much strain. Despite short-sightedness, my eyesight is clear at PC usage ranges.
        (6) In Factorio, resolution affects how much you can unzoom, not zoom in. From my experience, you can run around fully unzommed (ingame indicator says 0.52) and still see things clearly.

        [1] The SSIM perceptual metric in imagemagick is in fact quite crude, a more sophisticated method would perform edge detection and weight areas around the edges more. I haven't used opencv to make a better metric though :(

        Now, the compressed textures look real bad when shown as a .gif in the browser, only as long as it's zoomed. I mean they're washed out of colors and all that. But for 4K it doesn't matter. Given the screen density difference, these imperfections go from heavy to almost irrelevant.

        I'd rather not go into why 4K screens are an improvement, but you can look for test videos without any depth of field. In a Machu-Pichu video I was able to see individual stone impressions for the more distant parts. Similar for buildings across a river video. A 1080p display can't do that regardless of video bitrate.

        cheers,
        sh

        Post Reply

        Return to “Ideas and Suggestions”