Honestly, pretty sure that the notebookcheck report is just incorrect at this point, since apple devices have used temporal dithering for a really long time.
I have a 2015 15" MBP that aggressively dithers in both Intel and AMD graphics modes, and it has an sRGB display that only supports 8 bit color depth. Applying the Intel nvram set boot-args="dither=0" fix in recovery mode actually causes a noticeable difference on this machine in macOS Monterey, suddenly when adjusting display gamma or color profile in integrated graphics mode, you start seeing color banding shifts (indicating dither disabled), compared to before the fix where everything looks "smooth" no matter what the display settings are.
A lot of people seem to be wondering why it still feels like dithering is being used even on devices with native 8-bit sRGB, no P3 etc. — as a designer I can weigh in on this and say that this is 99% likely because of ColorSync / color management. The level of intricate effect that ColorSync has on display output is something mostly unique to Apple devices for a really long time... it's actually only in 2022 where Windows 11 started integrating something similar called Advanced Color (that will probably be switched on by default in the future...😖)
There's basically a bunch of post processing layers between a program displaying a color and the color that actually shows up on your screen, and ColorSync means that even if an application attempts to show each possible R+G+B color in a row, it won't actually be able to reach all of these colors once it goes through OS color management — because it's basically never the case that e.g. rgb(127,127,127) actually results in the exact same "127 127 127" being sent for that pixel to the monitor. This is true even on seemingly "native" profiles like sRGB, Color LCD, or Generic RGB Profile, because they apply a gamma ramp that has a curve to it instead of representing a direct linear map from 0 to 255.
Now think about what happens when adjusting the gamma and white point sliders in the macOS display calibrator. If there are only 255 values per color, adjusting the gamma would be forcing those 255 physical shades into some smaller set that seemingly would have to still be whole numbers. So there would have to be some sort of "rounding" or loss in precision that you would notice on the display between each color profile — like color banding appearing at different locations, right?
But that doesn't happen, and e.g. a smooth grayscale gradient remains "smooth", no matter if using 8-bit, 10-bit, internal or external monitor, etc. This is because ColorSync — which is a fundamental part of the macOS window server which every window is forced through, with essentially no way to disable — basically is causing temporal dithering to be activated at all times. This is the reason why text (which relies on all shades of gray because of antialiasing) looks awful and shimmery on macOS for everyone who notices this, not the actual font smoothing algorithm itself or DPI scaling. Of course all of this was inherited into other Apple operating systems like iOS and iPadOS as well, since they use the same color management system.
This is in stark contrast to Windows, which has had mostly none or very primitive color management forever (only changing with Windows 11 in late 2022 as previously mentioned). Windows graphics drivers can still cause temporal dithering, but the OS window manager itself mostly works with pure "native" colors, so the problem is fairly easier to get around on Windows 11 (when Advanced Color is off) and Windows 10 and prior by choosing the right graphics card and monitor.
Actually, because a ColorSync-like system has recently been integrated into Windows 11, Microsoft's own article on
their Advanced Color Management system accidentally ends up hinting at the same temporal dithering issue that macOS has:
>>
When ACM is enabled, the DWM (Desktop Window Manager) performs its composition using IEEE half-precision floating point (FP16), eliminating any bottlenecks, and allowing the full precision of the display to be used. With ACM, apps can access billions of colors with 10-16 bits of precision, and even on displays that only support 8-bit precision, ACM unlocks additional quality using techniques such as dithering.
There are use cases where color management and temporal dithering is useful, mostly in photo and video work. I've heard a lot of people in that space having the opposite issue — not being able to use Windows for their work because the lack of color management makes colors look "inaccurate" or banding artifacts appear after they try to "calibrate" their display, warping the processing of RGB values into something very different and not easily rounded in a smooth way into what is accepted by the actual 8-bit or 10-bit values that monitor hardware requires in the end.
And of course, photo and video is the line of work that the Mac business makes the most money from, with Apple's most expensive machines being marketed towards that sector.
But Macs have always been famous with writers, developers, and students too —
where text is important, not images. And us people get the short end of the stick, with every word (regardless of app or text rendering method) passing through way too many layers of ColorSync post-processing and becoming a dithered and shimmery mess, where the entire screen feels like it's moving in the corner of your eye even when displaying a seemingly static page, causing your eyes to constantly refocus or jump to random things unrelated to the text you're trying to read, like the blinking cursor or some brightly colored icon.
And the fact that all of this tech was brought into iPhones and iPads meant for general purpose use, with not one clear accessiblity setting to control the amount of color post-processing used is what makes this unacceptable to me at this point.
It's making me seriously question being a Mac and iPhone user, despite vastly preferring the core Mac workflow over Windows and my work (web design and development) basically relying on a Mac environment.
On macOS, the only way around dithering by messing with system parameters like the boot-args to tell ColorSync not to apply the dithering step, or by running the window server with no graphics acceleration, like in Safe Mode on Intel machines. But that boot parameter
only worked for integrated graphics on my 2015 Macs, but changed nothing at all on my newer 2018 MacBook Air, despite the Air
also only claiming to support 8-bit sRGB, not supporting True Tone — and heck, even still running Mojave. Based on an old blog post about OS X temporal dithering from 2010, it has been a core part of macOS in some way since at least 10.6 Snow Leopard, and possibly since 10.3 Panther when ColorSync expanded to becoming a part of the monitor output chain for the first time.
So any Intel Mac after that is also probably not able to be fixed either aside from switching to Windows through Boot Camp and using older Intel graphics drivers. M1+ machines are basically a lost cause.
This reply is getting way too long to elaborate, but I'm pretty sure the XDR MBPs, Pro Display XDR, and Studio Display even apply ColorSync and hence dithering even deeper at the
display level, based on a comment I read from someone in the Linux on Apple Silicon space and the OS trying to force you into using limited "hardware reference modes" on those devices instead of ICC color profiles.
This is basically the shortest possible way to explain why this seems to be a persistent issue with specifically Apple products — and getting worse every year — when it's always felt way easier to find Windows or Android devices where this is not an issue at all, text looks COMPLETELY fine, and my eyes don't feel any strain.
TLDR:
Apple ColorSync display color management almost always forces color shades into values that aren't whole numbers and more precise than what screens can physically show.
Instead of rounding values and causing color artifacts, temporal dithering is used at almost all times to keep colors "smooth". (This can even affect white if the white point is not native, like in Night Shift mode)
This is why Apple products affect screens where dithering usually wouldn't even need to be used, like 8-bit sRGB or even native 10-bit panels.
People working in photo and video can benefit from this, but people working with text get a massively degraded experience because of this — especially if their eyes are sensitive enough to constantly notice the shimmering text effect over and over when trying to read on Apple devices, like I do.
———
@jm31828 If you've made it this far, I've found a combination of accessibility settings that has actually improved my experience
massively with newer LCD iPhones and iPads, which I've never seen anyone mention before. I'm calling it
"Double Invert":
Enable Classic Invert in Display accessibility settings. Then enable Zoom, use the three figure gesture to zoom out all the way. Then enable the "Inverted" Zoom filter.
Since there are two inverts happening at once, the screen is now no longer inverted, but something will start to feel VERY different. Some colors will appear slightly off, and if this works for you, static pages will suddenly feel completely still.
I have NO idea what this combination of settings is doing under the hood, but I've tested it on:
-
iPad 6 (iOS 15, sRGB, auto brightness off, night shift off)
-
iPad Pro 2018 (iOS 17.2, P3, 120hz, auto brightness off, true tone off, night shift ON)
-
iPhone SE 2 (iOS 17.2, P3, auto brightness ON, true tone ON, night shift off)
On all three devices, the screen became 10x easier to read. Prior to this, I hated using my iPad Pro 2018 for years, but I actually like using it again after applying double invert.
In fact, this entire reply was written on my SE 2020 with the double invert settings applied — my eyes feel surprisingly just as great as they did before using the phone, so I guess that's the proof that this method actually does work for me — and the way colors are processed actually does have an effect on the eyes of some people.
On sRGB devices double invert makes colors look oversaturated, on P3 devices it makes reds way too washed out. But text looks SO MUCH better — I honestly don't know why.
I actually tested double invert on an OLED iPhone too, and it even caused a very noticeable and sudden difference there too. Of course, PWM is also an issue there too and this method can't be used at the same time as the "reduce white point" strategy for reducing PWM, so I ended up not using this method there since OLED backlight flicker bothers me even more.
But the OLED screen actually felt SO STILL with it on, and I noticed all HDR content (like the "brighter than white" screenshot flash) and P3 colors were entirely disabled and clipped off. So whatever this is doing, it's definitely disabling some layer of color post-processing.
(I'd say the effect of double invert on OLED devices feels like the screen is transformed into an older era of OLED, such as e.g. the Galaxy S5, where PWM was still just as much of an issue but the actual contents on the screen is a lot more "stable" compared to modern devices.
For people who know they aren't affected by PWM but still have issues with new iPhones, it honestly might be worth trying double invert on OLED devices too. In my case though, I just left the OLED iPhone on default settings in the end, and I'd say the optimal use case for double invert is on LCD devices.)
As mentioned, double invert works on the latest version of iOS as of January 2024 which is amazing. Unfortunately, there is no equivalent setting on Mac.
I am closing with:
Journalists should stop reviewing monitors and phone displays as if they are TVs. In so many use cases,
text matters, not HDR, how "realistic" a movie looks, contrast ratio, display gamut, or even color accuracy, if you think about areas like general office work or programming where how images look doesn't matter.
If a screen is displaying still text or graphics,
the screen should not be acting as if something is still moving, even if "the typical person isn't likely to perceive this". Unfortunately, this isn't the case with most displays or operating systems today, and guess what — no human is going to be 100% typical.
For now, I'm sticking with displays that can
actually just succeed in displaying words correctly.
🌀🐚