@async just discovered the biggest improvement to my MacBook internal display screen comfort in years, and it's something totally unrelated from flicker. Fixing temporal dithering flicker already improved my m1air so much, but this just makes it even better.
since m1air is already usable "for the most part" for me since it can FULLY disable dithering with Stilcolor and i'm not sensitive to its form of PWM, i now have started to look into more general ways to improve screen comfort aside from flicker. i've discovered something really interesting…
will save a post with more fleshed out and easily readable instructions for later as i'm really busy right now, but i want to put this out here:
HUGE REDUCTION in strain by forcing my m1air's Retina display to act as a *TRUE* non-Retina display.
Simply setting a "non-retina" resolution like 1280x800 @1x (AKA half of physical resolution) does NOT achieve this. That just activates Apple's scaling filter. It looks extremely blurry, since it forces a smoothing filter even in cases where simply "pixel doubling" would be possible. And it means you also get whichever mystery "oversharpening" artifacts Apple has decided to include.
-
Here's how to get "true" non-Retina:
(FYI: Of course, also disable dithering with Stillcolor. This is totally different and doesn't replace disabling temporal dithering which is equally as important.)
To get the same exact result as me, disabling macOS font smoothing is reccomended.
Create a BetterDisplay virtual display with 16:10 aspect ratio but don't mirror it!
Instead, activate Screen Streaming on the virtual display and set the target to your laptop's internal display. ⚠️ FYI BetterDisplay Pro is required!
Set your physical display to true native resolution. The "Really Tiny UI" one. (for example, 2560x1600 LoDPI for m1air, or 3024x1964 LoDPI for 14" Pro)
Set the virtual display to non-Retina resolution. (filter Virtual Screen Mode by LoDPI, then pick the LoDPI version of your true native resolution divided by 2.)
Make sure "Displays have separate Spaces" in Desktop/Dock/Mission Control settings is checked.
Start Screen Streaming, get to the point where you're basically seeing the second virtual display projected onto your real display but with streaming instead of mirroring.
If BetterDisplay gets into a glitchy state where you can't see your primary desktop windows anymore (which happens the very first time you set it up, but not after), just blindly Cmd+Space Spotlight search for BetterDisplay, press enter, and then press Cmd+Q to quit it to get your windows back. Then restart BetterDisplay.
Set the virtual display as your primary display. Use the Arrangement feature in macOS Display System Settings to align your physical display to one of the corners so you don't accidentally move your cursor off the virtual display.
Enable Resume Stream on Connect in the virtual display's Screen Streaming menu so the stream reactivates after resuming from sleep.
(FYI this means your login screen will no longer have the password field since the stream doesn't show up there and you're instead just looking at your physical "secondary" display. The field is still focused on the virtual display, just "blindly" type+press Return or use Touch ID and you can still log in just fine.)
⬥Now here's the magic step:
- Enable "Integer Scaling" in the Screen Streaming menu.
Your internal display now should show a truly sharp, pixel-doubled "non-Retina" desktop.
🐚🐚🐚🐚🐚🐚🐚🐚You are finally home !!!🐚🐚🐚🐚🐚🐚🐚🐚
-
(BTW: If you now have a "blurry" mouse pointer, just set a custom pointer color in accessibility display settings, it will make the pointer sharp again.)
Turns out that I am sensitive to high-density displays. Even independent from flicker, I've realized it's another one of the core reasons why I get that feeling of a "false sense of depth".
On a Retina/HiDPI display, there's nothing you can really "lock onto" and easily focus on at a density where you can't even see pixels — especially in the case of text. The only time you're able to see "noticeable edges" at a HiDPI-level density are at the corners of sharp rectangles, and that can end up making those parts of the screen feel "very distracting" while you're trying to read something else.
So what if instead of that, we make every single pixel all become equal, uniform, and visible 2x2 sharp rectangles. That's what "true" non-Retina does — and what the usual "filtered" non-Retina modes don't.
Even though the physical pixel grid remains invisible after forcing "true non-Retina", suddenly just the simple fact that now I can clearly see the squared-off "pixels" at the edges of text and rounded windows improved my ability to focus and the feeling of "flatness" of the display by an incredibly large amount. IMMEDIATE and extremely noticeable improvement in comfort, reading ability, everything.
It seems like Retina/HiDPI displays are simply too sharp, too overstimulating for me while actually working on them especially with information-dense content (and not just watching videos or playing games).
"Dumbing them down" into truly looking like a non-Retina display (instead of an "approximation of one" with blurry filtering) makes a world of difference for me.
I'm pretty sure that "seeing pixels" lets my brain know I'm looking at something obviously fake — vs. a usual HiDPI display which looks much closer to reality and probably takes "a LOT more processing" for me to intuitively understand that I need to focus on it very differently than a physical object. Hence the false sense of 3D etc.
I discovered this after using a Windows 11 VM (UTM) on my m1air which defaulted to a non-Retina resolution but the VM used sharp integer scaling to display this, instead of filtering. Using this VM in fullscreen felt more comfortable than anything else on my m1air, to the point where I started browsing the web in it because I felt so good using it. Turns out it feels so good because it's "true non-Retina" with visible pixel edges.
Now, with the BetterDisplay Screen Streaming + Integer Scaling method, I can say that macOS as a whole finally feels just as comfortable to me as that Windows VM.
By the way, there's even a chance that running at "true non-Retina" (AKA perfect pixel doubling instead of filtering) may also be able to reduce flicker from pixel inversion:
Does FHD on a 4K monitor with integer scaling look like an FHD monitor?
Yes. Moreover, games and videos at FHD with integer scaling on a 4K monitor look even better than on a monitor with native FHD resolution […] crystal-inversion flickering is almost unnoticeable.
https://tanalin.com/en/articles/integer-scaling/#h-faq-like-native
BTW, you can also use pretty much the same screen streaming method if you want to be able to use scaled retina resolutions without introducing Apple's oversharpening and fringing artifacts. (physical display at native resolution, virtual display at e.g. 1680x1050 retina etc.)
Virtual Display Streaming (BetterDisplay Pro only) is what makes all of this possible. This is not possible with the basic "virtual display mirroring"!
Final note: I've recently noticed that there is a slight difference in sharpness between setting the physical display in this process to native LoDPI "Very Tiny UI" native resolution (e.g. 2560x1600 @1x) vs. native Retina 2x resolution (e.g. 1280x800 @2x).
In both cases, the virtual display is set to 1280x800 @1x non-Retina. This means you still achieve "properly sized larger UI" in the end after the stream is set up.
Not sure what is causing this difference as 1280x800 @2x is technically just "2560x1600 but the UI is zoomed in by 200%", but there definitely is one.
IMO, 2560x1600 @1x on physical (NOT 1280 @2x) feels noticeably more comfortable.