I disabled dithering on Apple silicon + Introducing Stillcolor macOS M1/M2/M3
NewDwarf their tracer does make note of it though https://github.com/AsahiLinux/m1n1/blob/3b9a71422e45209ef57c563e418f877bf54358be/proxyclient/hv/trace_dcp.py#L582
DisplaysShouldNotBeTVs yep I agree, better leave it on. We don't even know what VUC means.
- Edited
https://ledstrain.org/d/1111-external-graphics-egfxegpu/8
From @Seagull
When turning dithering off you'll only see the difference on a laptop screen. Desktop monitors do their own dithering in addition to any graphics card dithering. Laptop screens are dumb, and rely on the graphics card to dither for them.
Emphasis mine.
But then this is Apple...
DisplaysShouldNotBeTVs I think MBP is using 10bit display, without FRC, according to specs from Apple. I know that Apple XDR Display is true 10bit, thats also mentioned on their website. I know that their regular Apple studio display is using FRC the same as MBA.
no it's a big difference
macOS scale down
Windows scale up
try to disable "retina" mode in macOS and tell me if the text is more gentle and easier to read despite being super blurry
madmozg I think MBP is using 10bit display, without FRC
On my MacBook Pro I do see a change with Stillcolor in that it seems to reveal quantization artifacts. Waves of magenta and cyan. Seems they have kept some level of dithering in place to further boost the display beyond 10 bits and manage those waves. It still isn’t clear if this is temporal or spatial dithering.
Thanks for those screenshots. It really seems to follow that “support for X colors” is Apple’s marketing for FRC dithering.
Blooey I also saw it with MBP 14', dont know why. Looks like software tried to send 8bit signal, but GPU of apple silicon still using dithering or something like that.
"Support billion of colors" words used by some manufacturers like LG SAMSUNG ASUS and etc. You can check their websites and official specifications. In monitors manuals they will show you what type of display, 8bit, 8bit+FRC or true 10 bit, its easy, but I think not that easy with Apple. I wonder if this specification type forced to have by US regulators or so? And why apple don't have this kind of described documentation what kind of display etc used in their devices..
For example asus specifications for their monitors:
Lot's of references to pixelcapture in the flags. Wouldn't capturing image directly from the framebuffer be enought to diff for dithering, if laptop screens are mostly dumb? I saw some old references to capturing pixel data on Google, but no idea how hard it would be to actually make a working solution here.
Somewhat on the side, but if you could capture pixel data properly it would be fairly easy to do some logic that gives a score to how much changes there are to the screen. You could even calculate in a way where it would ignore things if the same image is shifted slightly in one direction for the next frame, so it gets a high score if you drag or scroll with choppy movement. There are massive differences in how choppy things are in browsers as well, based on mouse used, how the drivers interact with the browser, if smooth scrolling behaves well with it, if something is locking the ProMotion VRR among other things.
I have a Lumix S5ii and this camera able to do 30 shots per second. Maybe I can somehow capture dithering on MBA? Like setting proper shutter speed. And after using ffmpeg to make a video and see any differences/pixel flickering. I don't have any micro lenses unfortunately, to make a really close photos to display
Did anyone experiment with the logging flags? I couldn't figure out where they end up. Don't thing they are written to disk automatically at least.
Found these as well. Not that ChatGPT descriptions can be trusted, but seemed promising.
enableDBMMode: This flag likely refers to a "Dynamic Backlight Management" mode. Dynamic Backlight Management (DBM) is a technology used to adjust the backlight intensity of a display based on the content being shown. This can enhance the viewer's experience by improving contrast and detail in dark areas of the image while also reducing power consumption. In a device's framebuffer, enabling DBM mode would allow the system to dynamically adjust backlight levels based on real-time screen content, optimizing for both display quality and energy efficiency.
enableBLMSloper: This flag seems to indicate an option to enable a "Backlight Luminance Modulation Slope" adjustment. This feature would allow the system to control the rate at which backlight luminance changes, possibly in response to changes in environmental lighting conditions or on-screen content. A sloper adjustment could fine-tune the backlight for smoother transitions or more accurate representation of content brightness, enhancing user comfort and potentially contributing to energy savings by avoiding overuse of high backlight levels.
madmozg Nice catch! Additionally, looking at the Pro Display XDR White Paper, the specs match the M3 MBP almost word for word, brightness (MBP has higher SDR nits), color gamut, refresh rates (MBP additionally has ProMotion), contrast ratio, reference color modes. The only thing that doesn't show up in MBP marketing is the "true 10-bit" part, which can be a marketing trick so as to not cheapen the Pro Display XDR.
I've now learned about a new variable besides the DCP, which is the display's TCON (Timing Controller). Does it perform its own dithering? To what extent is it influenced by driver properties?