• Other
  • Disable Color Dither method collection

diop

So you put this setting inside your AppleIntelFramebufferCapri.kext? What I think about this: even if there is a notion of the setting, it doesn't mean driver code uses it. So maybe it is hardcoded, for example, to always dither.

It also happens for me on 10.15, I can't tell for sure that putting DitherDisable changes something (previously on 10.14 there was a definite shift of font crispness/color when switching to AMD).

I want some proof that dithering is on, but couldn't find any. I even did recording of what I see via remote desktop (VNC):
https://youtu.be/f1RiOukuKDg

Even there nothing changes when a picture is static. (There must be pixel dancing if dithering was on)

I might be getting a 50x Analog Zoom Camera to record individual pixels on video over this weekend. I no longer believe they are really jumping/morphing. It might be electricity AC that not static 220v, but varies from 200v to 240v in my apartment.

Maybe we are pursuing a wrong goal here, and the issue is in something different than dithering.

Can you share your experience? I guess it is Mac Mini connected to the external screen? If so, do you have issues when connecting this screen to a different computer? Is it easier on the eyes? Do you use the same cable between experiments?

    Gleb "Maybe we are pursuing a wrong goal here, and the issue is in something different than dithering"

    Not wishing to derail, but after doing a lot of testing on myself, and confirming with my own capture card - I am sensitive to dithering. But I am also sensitive to horizontally polarised light, dithering or no, a horizontally polarised LCD screen gets me every time. The common link between these two issues? as best I can tell its that both require extra visual processing by my brain to build a stable image.

      Seagull Could you share a link on how to determine if LCD is horizontally polarized or not?

        Seagull

        Do you have a sample video from your capture card? Will it be possible to notice anomalies using a regular screen?

          Gleb Also I wonder if @JTL is able to connect the capture card to one of DP output? And record video of signal from mac.

          I still need a spare desktop to run the capture card. I'll see if I can get something myself within a month else post again...

          Gleb I want some proof that dithering is on, but couldn't find any. I even did recording of what I see via remote desktop (VNC):

          VNC with what device as a client, and what device as the "server"?

          • Gleb replied to this.

            JTL MacBook as server, iPhone as a client

            • JTL replied to this.

              Gleb Hmm. I think the dithering only happens at the GPU output stage so VNC probably wouldn't show anything.

              martin Its really easy, buy yourself a replacement polarizer for an Iphone 7 or other IPS LCD using device. Hold it against the LCD you are testing and rotate till it goes dark. The polarisation angle of the device you are testing is +/-90degrees from the portrait orientation of the polarizer you are holding.

              Gleb I'm fairly sure I still have the recordings and the software I wrote to analyse them, but I can't check or send you them at the moment as they are several hours away in my office and I won't be back there for a few weeks now. Also the files are huge. But yes, I was able to determine which cards were dithering and which weren't. see this thread https://ledstrain.org/d/703-i-have-bought-a-capture-card . I can't see the dithering introduced by graphics cards, I can only feel the pain it induces.

              Gleb Can you share your experience? I guess it is Mac Mini connected to the external screen?

              Yes it is - a Dell U2419H. I'm swapping the same HDMI cable between the good PC and Mac Mini for testing.

              Also the point about AC not being static > smartphones run on a battery and cause strain so I'm pointing the finger at software.

              Paid solutions such as VMWare utilise PCoIP which transmits the exact pixel-information instead of pre-rendering. If you sign up for a paid service (such as Shadow PC), I found symptoms even on a good PC. Which in my experience says it is definately something to do with pixels/rendering.

              Hi,
              I got curious why it is advised to leave "Automatically adjust brightness" on.
              I have an iMac and I got some relief when I switched off automatic brightness and set brightness to 50% at night and to about 55-60% during the day. Lower brightness is uncomfortable to me, maybe because of more reflections from the screen, maybe because of some technologies used at lower brightness. I can only guess.

              Without automatic brightness the image seems more stable to me. However, I understand that everything is very subjective in this field and depends on many factors, including even the physical condition at a specific moment.

              I'd like to add to the recent discussion about Catalina. I have upgraded and I have a feeling that the drivers have changed (I have Radeon graphics). I still have a strain after some time of working with the text (I only have strain from the text), but it is different. No more dizziness, but there is some burning in the eyes after some time at the iMac. And after maybe 2 to 3 hours the eyes become very tired, like sleepy.

              I have experimented a bit and what works best for me: brightness no less than 50%, native resolution 2560x1440, millions of colors in SwitchResX, "Best for external displays" setting in Parallels Desktop and no Coherence mode, 300% scaling in Windows, monospaced fonts like Consolas or Monaco in my work apps, automatic brightness off. I'm still trying different color profiles. Also, some programs are less straining than the others. Safari is the best in this respect, so now I use it instead of Chrome.

              But this has not solved my issues, it just gives me more time to work at the computer. So it would really be great to have an app capable of switching off dithering or whatever is straining the eyes on Mac.

              • JTL replied to this.

                annv I got curious why it is advised to leave "Automatically adjust brightness" on.

                No clue.

                  Although the Mac solution would be welcomed, it seems like it is going to be convoluted depending on what device the user has and also which configuration (Intel/AMD/Nvidia). It would be great to have a single dither-disable tool, but without having acces to the 'belly of the beast' we can't really go any futher.

                  However, I still think Linux is the best environment to get this working. We all have machines that will run the latest Linux software - old machine support is still a priority with many popular distros. I get the feeling we are going to hit blocks with Windows/Mac solutions simply because of the proprietary nature of them. Linux is open, nouveau is open source, Intel official driver AFAIK are open source too. Not sounding like a broken record, but Linux is the best playground to use to get it dithering/artifiact-free without even having to ask M$/Apple for any help.

                  • JTL replied to this.

                    diop Although the Mac solution would be welcomed, it seems like it is going to be convoluted depending on what device the user has and also which configuration (Intel/AMD/Nvidia). It would be great to have a single dither-disable tool, but without having acces to the 'belly of the beast' we can't really go any futher.

                    That is correct

                    diop However, I still think Linux is the best environment to get this working. We all have machines that will run the latest Linux software - old machine support is still a priority with many popular distros. I get the feeling we are going to hit blocks with Windows/Mac solutions simply because of the proprietary nature of them. Linux is open, nouveau is open source, Intel official driver AFAIK are open source too. Not sounding like a broken record, but Linux is the best playground to use to get it dithering/artifiact-free without even having to ask M$/Apple for any help.

                    I agree. The "problem" with me working on this full time is

                    a) I have other things I need to focus on and there's only so much time in the day

                    b) the other issue is while I have a lossless capture card I purchased at a cost to myself I don't have a spare desktop for experiments, and while some kind people have offered to potentially ship something that'll work to my specifications shipping costs or "real life stuff" has gotten in the way.

                    Watch this space.

                    JTL I added "leave Automatically adjust brightness on" in personal feel turn it off cause color narrow, like contrast get higher. Very obvious especially when view the Yosemite default wallpaper, see the mountain dark part.

                    There is some interesting stuff I stumble upon today. It is regarding font smoothing.
                    Mojave seems to change default subpixel antialiasing to grayscale. I had trouble to read such fonts on external screen. I mostly work with code in Intellij IDEs, and the fonts are really hard to read (especially on a light theme)

                    Frankly, I believe something is fundamentally broken my macOS applications:

                    1. There is setting to disable font smoothing in Preferences-> General
                    2. There is setting in Intellij IDE for font smoothing

                    leaving both ON (and this is by default) - results in blurry text, that takes me time to focus on:
                    img - broken AA, default

                    Disabling one of these setting (no matter, system setting or Intellij) results in much crisper text:
                    img - after - fix

                    You may try to experiment with this font smoothing, trying different options:
                    http://osxdaily.com/2018/09/26/fix-blurry-thin-fonts-text-macos-mojave/

                    For me, legacy subpixel AA is the best: you need to disable font smoothing in macOS preferences, and put the following command in terminal:

                    defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO

                    Changes will be visible after restart (or log-out/log-in)

                    Please post your experiences with different options.

                    PS:
                    Generally I started to notice that overall font size and contrast is much smaller than I had on Windows or Ubuntu.
                    I'm using 23" 4k screens with 200% scaling, and everything is just too small comparing to my windows setup.
                    On the left - font that I can read without eye strain, on the right - default macOS font size:

                    comparing default fonts to comfortable

                    I don't know how to measure size properly, but this is around 8px height.
                    All the menus are using this size.

                    Here is another example: tab font is 6px(!) (notice contrast ratio on inactive tabs, it makes text near impossible to read):

                    The point of this screenshot is that the height of non-capital letters is 6px. Imagine reading non-contrast books that has such a small font for a day. Even healthy eyes will notice discomfort. And we are using macOS entire day, for 12-14 hours.
                    As a workaround may be getting 27-inch screen instead of 23-inch (27" is what entire Apple HQ should be using all days).

                    I also did a few tests/days with and without the external screen. And working on a laptop screen didn't cause such eye strain as an external screen.

                    P.P.S:
                    Going to the topic of discussion - screen dithering, again, I do not really believe in this dithering (if it was any, Iphone 240FPS camera should capture it - as the refresh rate of screen is 60HZ). I'm pretty confident that eye strain is caused by small/blurry fonts and an overall lack of macOS UI contrast. At least for my case.

                    Gleb,
                    For external displays I'm following an interesting topic on macrumors: https://forums.macrumors.com/threads/the-subpixel-aa-debacle-and-font-rendering.2184484/

                    The main idea is that Apple no longer cares about displays with resolutions lower than HiDPI. Here's an extract from the last comment:
                    "100 ppi: front rendering unacceptable after 10.6
                    160 ppi (4K 27"): font rendering unacceptable after 10.13
                    220 ppi (5K 27" = retina): font rendering acceptable with all OS's"
                    Could be because Apple are testing their OS on iMacs or Macbook Pros 🙂

                    I was going to buy an external matte display for iMac, but based on the info from that thread I've decided not to do it. I also tried connecting an old 19-inch Samsung 971p display with 1280x1024 resolution, and it was blurry with any possible settings.

                    On my iMac I switched off any font anti-aliasing and font smoothing with TinkerTool under Mojave and keep on doing so under Catalina. I was feeling dizzy from those thicker fonts. I've just tried reenabling font-antialiasing and set font smoothing to 1 in order to check it now, and I did not like how it looked. Small UI fonts are not an issue for me, as long as they stay thin. I believe that after some time I do not read the UI elements as careful as in the beginning, because I know what is written there, and this reduces the strain. But in work apps, where the text is always new to me, I make fonts larger.

                    I believe the font rendering on Mac is indeed not optimal. On Windows, with its lower resolutions, fonts never caused me any issues.

                    Probably, macOS would benefit from even more ppi than it has now. Fonts on my iPad with its 264 ppi are great, and even better on iPhone SE having 324 ppi. No strain at all.

                      annv
                      I also bumped into an article today. The "bad zone" is where fonts are too small or too big

                      Personally I own two 4k Dells 23.8" and find my fonts small. I was thinking about buying 27" 4k screens, but they are now also out of "comfort zone". But I will have a chance to test a 27-inch screen over weekends, to see if UI elements are more readable.

                      There are following settings that help so far:

                      1. Disable blurry fonts by enabling legacy subpixel antialiasing (CGFontRenderingFontSmoothingDisabled) and disabling font smoothing in Settings->General

                      2. In System preferences->Accessibility->Display:
                        a. select Reduce transparency (makes font more readable, as they are printed on paper)
                        b. Increase Display contrast to 1.5

                      3. Use bigger fonts: TinkerTool and Command+J in Finder lists.

                      4. Adjust brightness/contrast of the monitor B:30 C:60 at daytime, 0/40 at night

                      5. In Preferences -> Display -> Color tab, select Generic RGB profile instead of Color LCD

                      Regarding dithering, I believe it might come from the monitor itself (read your display specs, if it says 8bit + FRC, dithering will be added after video signal. I'm not sure if such thing can be captured using an external capture card. Maybe someone has a good Digital Camera with 50x zoom that can zoom into single pixels?)

                        annv Could be because Apple are testing their OS on iMacs or Macbook Pros

                        Yes

                        Gleb That is definately a big part of the issue. However I get nausea and eye strain on my macbook pro 2018 even watching movies, even though now after the eye therapy it takes more time for it to develop than before, when it was quite instant. I think its more issues at once which makes is so complicated and hard to crack.

                        • diop replied to this.
                          dev