4

"4K Scaling" Is Not a Problem on Modern Macs - Byte Cellar

 1 year ago
source link: https://bytecellar.com/2022/11/08/4k-scaling-is-not-a-problem-on-modern-macs/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

“4K Scaling” Is Not a Problem on Modern Macs

I found myself posting this information so frequently on forum threads and in video comments that I wanted to put it all together in one place so that I can share my experience and what I’ve learned with a single link. And, while this is primarily a vintage computing blog, not every post is of that nature. Apologies to my retro-only readers. (Well, there is an Amiga and a Lisa in that second photo down the page, there, so…)

I recently replaced my aging 2017 5K Retina iMac with a Mac Studio, powered by an M1 Max processor and 32GB of RAM. Some months earlier I upgraded my aging laptop to a 2022 M2 MacBook Air. That iMac’s beautiful 27-inch, 5K retina display was hard to part with, and so I wanted to give the new desktop system a very nice screen. And I have, in the form of an LG DualUp 28-inch display.

DualUp_1280w-1024x768.jpg

It’s an unusual display; it is a 16:18 aspect panel with a native resolution of 2560×2880. It is “tall” in its normal orientation, but I’ve chosen to use it rotated which makes it look rather square. A perfect screen for my use cases as a general UNIX system and web development workstation. (I do not game on my desktop Mac nor do I watch feature films, so a more traditional 16:9 aspect ration has little value to me here.) I’ve had this system up and running for two months now and I can say that, of all the displays I’ve ever used, this one is my favorite.

Doing research to spec out the screen for this iMac replacement, I encountered a large number of people lamenting the use of 4K displays with Macs, noting that the Apple 5K displays, with a 218 pixel/inch density, allow for a computationally easy halving of the native display resolution to achieve an ideal desktop rendering. A 5K Apple display has a native resolution of 5120×2880 and the default view mode is a “looks like” 2560×1440 desktop — razor sharp. Halving the native display resolution is easy peasy for GPU hardware — a small lift. This is, presumably, why Apple’s Retina displays are 5K rather than 4K. The thing with 4K displays is that in their typical native 3840×2160 resolution, they present the UI elements far too small, while the system-suggested half-resolution rendering is a sharp “looks like” 1920×1080 display where the UI elements appear too large — there’s too little desktop real estate.

The way around this is to have macOS “scale” the display to a more ideal lower resolution, but choosing that option in display preferences presents a warning: “Using a scaled resolution may affect performance.” What the OS does here is to scale up the chosen resolution to double height and double width (4x the pixels displayed) and then scale them back down to the display’s native resolution — 60 times per second. Indeed, this can be too much for certain older systems out there. But, as you will see, modern Macs should be able to handle the task just fine.

My display, which has a ~140 pixel/inch density (close that of a typical 4K display), is scaling to a “looks like” resolution of 2304×2048. This means that macOS renders my desktop at 4608×4096 (18.9 million pixels) and then scales it down to the panel’s native (rotated) 2880×2560 — 60 times per second. (The “looks like” target for a standard 4K display with a native resolution of 3840×2160 will typically be 2560×1440 and, thus, it gets scaled up 5120×2880 (14.7 million pixels) and then back down to the panel’s native resolution.) This all sounds harrowing, and many threads of concern have been created, talking about the dramatic performance impact that this scaling busywork necessarily has on the system. Among them is this frequently cited video created by a person who indicates that the performance of their M1 MacBook Pro was so dramatically impacted by a scaled 4K display that they returned it and got a more traditional, low-DPI 2K display.

This guy’s experience makes no sense to me.

M2_DualUp_640w.jpg

My LG DualUp display arrived a few weeks before the Mac Studio for which it was purchased. In that time, to test it out, I attached it to my M2 MacBook Air. As expected, the native rendering presented the macOS UI in a far-too-tiny fashion and the system’s suggested HiDPI “looks like” half-resolution of 1280×1440 was too large, too low res. In order to unlock myriad other scaled resolutions to choose from, I reached for the excellent BetterDisplay. This handy app, among various other features, allows you to unlock many additional low- and HiDPI- resolutions in the system display settings to choose from and, in the end, I went with a “just right” resolution of 2304×2048, as mentioned earlier. The M2 Air drove the display perfectly, and everything felt just glass smooth — no performance issues anywhere to be seen.

Still, I saw such concerned discussion about macOS scaling, in various places online, that I wanted more assurance. I noticed that the author of BetterDisplay has a Discord channel to support users of the app. I joined it and had a number of conversations with him about my concerns. I showed him the aforelinked video of the distressed YouTube user reporting to have experienced such dire 4K performance issues on his M1 MacBook Pro. He felt surely that something else must be amiss with his configuration.

He explained,

The M1/M2 is specifically designed to be super efficient when it comes to macOS desktop rendering. M1 Pro+ macs can drive multiple 5K displays alongside a 4K display simultaneously, all with scaling involved so that can result in huge framebuffers. So I think driving a single display with a 5K-6K framebuffer with scaling is way below the limitations of these machines.

If we try to make sense of it, a 5K framebuffer has about 15 million pixels. So at 60fps about 900 million pixels must be processed. Let’s say 1 billion pixels. If we say that scaling is done super inefficiently, let’s say every pixel requires 5 floating point operations to be scaled. That is 5 billion operations per second. Now the M1 Pro can do about 5 teraflops — that is 5 trillion (5 000 billion) operations per second. That means that all the scaling stuff will consume 0.1% of the capabilities of the GPU. Even if there are additional inefficiencies and super wasteful processing, so everything requires 10x as much processing, then the desktop scaling will keep occupied the GPU 1%.

Even if somehow the 1% would turn into 10%, still 90% of the GPU is free. So surely scaling will not make a smooth video playback drop to 1fps in any circumstance. It would be such an obvious issue that I think everybody would know about it.

As I stated, the M2 Air drove the DualUp display without incident. I viewed 60fps 4K videos, ran a few games, scrolled wildly through my massive photo gallery, swiped through five different virtual desktops — all smooth. My own observations of what was happening right in front of me revealed zero cause for concern, and the sound reasoning I heard in that Discord further put me at ease. And, as you might guess, the Mac Studio where the DualUp now lives also handles the scaled display, along with an unscaled secondary display, with complete ease.

A recent video by Kyle Erickson, whose tech videos I enjoy, should also help allay such concerns for those who have them.

It seems to be the case that recent, modern Macs — and not just those with Apple Silicon — can handle HiDPI scaling without issue.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK