So I'm starting this thread just to keep it in one place.
As promised - first video of Macbook's screen showing different shades of Red, Green and Blue (brightness going down in 3 phases for each color) is here:

https://vimeo.com/292002526

(go fullscreen to make the flicker more visible - on the embedded version it's not so obvious)
I wanted to clear it a little bit, just to make it shorter and add some captions, but finally just uploaded the full content, due to lack of time to master the video editing software and rendering capabilities of my 8 year old laptop that I use currently.
The setup consisted of Macbook Pro 13 2015 screen as a victim, HTC 10 in 120 fps slowmo as camera and an old russian microscope that promises to give 60x zoom.
Anyway - if you browse through this video, you'll see that when the light goes down on red (around 4:30) and green (15:30) pixels, some funny thing begins - pixels tend to make pulsing glows, brighter and darker "lines" of pixels come one after another - the darker the color gets, the more it is visible, so carry on watching if you don't see it at first. Another thing is visibility of the same issue on blue subpixel - as I look on my computer - it pulsates a little bit, but not as much as the other colors, which is strange.

In next days (probably more around weekend) I'll be testing different scenarios and different screens, so please share any ideas that may be interesting. I'm also open on suggestions on free video editing software and online video sharing platforms as I'm a newbie in this area.

    5 days later

    I have an update (a long one). I've tested several screens in different setups:

    • Macbook pro 13 2015
    • Ipad Pro 10.5 (2017)
    • Iphone 8 plus
    • Dell e5480
    • Asus ZenPad S 8.0
    • HTC 10

    I've tried recording microscope view on all of them with iPhone 8 plus (240 fps) or HTC 10 (120fps). HTC 10 seems to catch flickers better so I finally used it instead of iPhone 8+ (I only checked HTC 10 with iPhone's camera).

    Test consisted of running HTML page with a JS script that started with color shades of higher brightness going down to lower values. At first I started with 255 (highest) value for Red, Green and Blue and was going down to 0, but then noticed that most interesting part is between 100 and 0, so I started there and went down in increments of 20.

    To give you some input - here's how I perceive (and rate) all the above screens:

    • Macbook pro 13 - (3/10) father of all the eye strain, can't use it anymore for longer periods
    • Ipad pro 10.5 - (8/10) I couldn't use it for a long time when Macbook pro 13 was in action, but now it's fine, I don't get strain with it, just minor tiredness from using a screen
    • Iphone 8+ - (6/10?) it's my wife's phone, so I don't use it often, at first it seems nice, but after some time it has some hints of straining features (screen to sharp, some brightness issues, etc.)
    • Dell e5480 - (4/10) I can use it for a while, but it's generally straining my eyes, not to the level of Macbook, but still unusable
    • Asus Zenpad S 8 - (6/10) medium strain after longer usage, ok for shorter sessions
    • HTC 10 - (8/10) same as Ipad pro 10.5 - I wish all the screens I have were of the same quality. No strain, apart from standard tiredness after long sessions

    Now let's dive into results:

    • Macboook pro 13 - obvious flickering on subpixel level for many color shades / steps of brightness
    • Ipad pro 10.5 - no noticeable flickers, maybe a little bit at lower brightness, but not as aggressive as these of MBP 13 (by the way - it has a little bit different shape of subpixels - they look a little bit like half-moon)
    • Iphone 8+ - it flickers on lower brightness levels, a little better than MBP 13
    • Dell e5480 - it flickers similarly to MBP 13, on top of that it has PWM on everything below 100%, so it's a double winner 😃
    • Asus Zenpad S 8 - flicker on lower brightness levels, didn't seem to be so aggressive
    • HTC 10 - no noticeable flicker, maybe a little bit at the lowest setting (a different layout of subpixels - they're formed into "stairs", not standard vertical lines)

    As you can see, only HTC 10 and Ipad 10.5 didn't produce obvious flicker on these tests and it matches my feelings about them - they're the only 2 screens I can use on daily basis, other ones (apart from Iphone) are worse.

    Below you'll find the video with examples of different screens - at first it's just red subpixel part (red and green subpixels proved to reveal flicker the best) and then as a bonus I made a video of webpage browsing on my Macbook, which also shows different flickers (this time not isolated to just one color).

    As usual - open it up in full screen as flickering is more obvious then.

    https://vimeo.com/292764049

    I'm not sure if it's actually FRC or dithering there, but at least it proves that, even when not clearly visible, there's a hell lot of flicker on our screens.

    Another important thing is relation between screens that are bearable for me and these who don't seem to flicker. I just don't know how to test these screens at shops, I won't be able to put them under the microscope 😉

    This is great.

    Though could it be this is neither FRC nor temporal dithering but regular polarity inversion? http://www.lagom.nl/lcd-test/inversion.php

    I am also curious to see how Firefox Quantum's pixels behave in contrast to a known-good browser (or maybe better, a screenshot of the same Firefox window). But I don't know if it acts the same on Mac.

    Edit: Plus further tests like switching temp. dithering on and off with working tools like "ditherig", Nvidia-Settings or several open source Unix drivers like nouveau, radeon, amdgpu, which claim to offer control over the dithering status.

      It could be inversion too, but it would probably manifest itself on higher brightness, I could only spot it clearly when saturation of color was below 40%. Also if you look at examples of browsing the real webpage the parts that flicker are mostly on edges of fonts, dark areas, which also suggests some kind of dithering to get better colors. Anyway I’ll have to check how lagom’s test looks under microscope - that’s a good idea 🙂

      Regarding Quantum - I haven’t checked it, I hope the difference between standard browser and Quantum can be observed with my gear, but if it’s subtle I doubt that it will get caught. Could you share any specific websites that are worse on Quantum? Or recommend another browser that is better to test it against.

      Speaking of software - I looked at the gray color of the new GMail which is also cursed, but haven’t spotted anything different so far - probably it’s a mix of gray text on gray background, awkward Chrome font rendering and general usage of gray colors which are composed of all R, G, B in different shades which makes flickering more likely. Reddit under chrome is another interesting case of how bad a website can look now.

      I’ll also check if Ditherig changes anything on different machines, but I couldn’t spot the difference with bare eye on my newer laptops, probably it doesn’t support modern graphic cards from Intel. I’ve only seen it making a change on an older HP DV6 (bars instead of gradient), but this laptop is close to impossible to be put under this microscope (broken charging port requires it to be positioned carefully to operate). I don’t use Linux on a daily basis so I’ll probably check it one day, but not soon. It would be more interesting if there was a known distribution / version that is helping in some cases. It could lead to software, not hardware solutions which would be better for us.

      By the way - does anyone have access to a microscope (any semi-professional with zoom around 50-60x should be enough) and a camera that is better than one on the phone? I may be limited with this stuff, however I’m not sure what factor is the most important for camera. I hoped for better results with Iphone, but it proved to see less flicker, probably due to some aggregating / averaging algorithms used to make videos more fluid.

        andc Could you share any specific websites that are worse on Quantum?

        Any site, they changed something in their engine between 56 (.02 I think) and 57+.
        https://ledstrain.org/d/297-firefox-quantum-57
        I believe the lagom black level test is good for testing for temporal dithering in general. I could clearly see 6 bit both temporal and static dithering in some of the black boxes when switching on and off via the graphics card driver (8 bits were hard to see). However, we don't know where the Firefox eye strain is coming from. But it must be something that changes over time, for screenshots can be looked at in external image viewers without eye strain.

        andc Nice results man! One thing that I am curious about is that if different color profiles on the macbook change the flickering at all. For example that deep-red with not the default screen color profile (color LCD) but for example with Adobe RGB (1998). And maybe with truetone/nightshift on and off if you have one of the newer versions of OS.
        Cheers and thank you for testing this out!

        • andc replied to this.

          I've tested it briefly with Night Shift and F.lux and could see flicker, especially on lower brightness settings, but I'll try to catch it again on the video. Basically what F.Lux / Nightshift does is adding a little amount of red color to the tone (or removing amount of blue, which gives similar output), and it results in making red pixels brighter. In case red component is already there, it might be fine (as I couldn't see flicker on higher brightness of pixels), but if only blue / green subpixels are used, it can add more flicker as it will probably activate red subpixel in low brightness (which seems to equal additional flicker). I'll check different color profiles, I'd guess, if "Color LCD" is tuned for this particular display, they should add more flicker due to missing sweet spots.

          The problem with observing whole pixels instead of just subpixels is that it's harder to see the flickering - three subpixels at once are brighter than individual ones which somehow misleads camera. You can check it on the second part of my video where I browse a webpage - there is some flicker, but it's not as noticeable as this on isolated "red" examples. It would be great if someone had better equipment, maybe then we could see the flicker on higher brightness and also observe whole pixels without issues.

          Thanks for your comments guys, many useful ideas, just need to find time to test everything properly 🙂

          Thank you! I have a few questions to understand this better -

          -it only shows in certain areas when you decrease brightness, so you wouldnt see it everywhere on the screen?
          -isnt the light that lights the pixels still the backlight? But the pixels can dim I understand, so even if the backlight is flicker free, the pixels make it appear as flicker?
          -is it software controlled?
          -if it is, we need to send this to a few people, if you dont wanna do it I can do it - mostly Daniel Georgiev, who programmed iris and could be capable to use this information to program a cancellation of this effect into his software too.

            martin

            martin it only shows in certain areas when you decrease brightness, so you wouldnt see it everywhere on the screen?

            Based on what I saw - it depends on how bright given subpixels are. Each color in HTML and on screen (as a pixel) is built of Red, Green and Blue components whose shades range in value from 0 (pure black) to 255 (full brightness, clearest shade of R, G or B ). From what I've seen - flickering is usually noticed by my phone's camera if subpixel shade goes below 100 (around 40% of 255 max value). So it seems that if you go below 40% of native brightness every pixel/subpixel may start flickering. Also if pixel is generally bright, but contains deeper shades of specific colors (like a touch of red provided by F.lux or night watch) these deeper shades will probably flicker.

            martin -isnt the light that lights the pixels still the backlight? But the pixels can dim I understand, so even if the backlight is flicker free, the pixels make it appear as flicker?

            I'm not sure what the nature of this flicker is - it may as well be pixel inversion mentioned by @KM . I'll have to read how LED / LCD screens are built, but I believe that there might be set of overall LED lights behind whole screen, but pixels may also have their own brightness, or control how much light they let through by FRC, dithering or other ways.

            martin -is it software controlled?

            I'd like to test it - guys in other comments suggested checking different OSes or tools like Ditherig. I also know @JTL has been working on some dithering disabling options. I hope it's software-controlled as it would mean that the technology itself isn't broken, just needs a good driver, we could then count on creation of an optional driver that stops flickering sacrificing color quality on screens.

            martin -if it is, we need to send this to a few people, if you dont wanna do it I can do it - mostly Daniel Georgiev, who programmed iris and could be capable to use this information to program a cancellation of this effect into his software too.

            I'd be glad to send this and other findings to our known contacts that may at least tell us if it's dithering, FRC or other stuff, so we know what causes our issues. I'm not sure if it's 100% accurate, it may be another wrong path, but at least correlation between screens that are usable for me and visibility of flicker in tests is promising.

            martin could be capable to use this information to program a cancellation of this effect into his software too.

            Maybe, maybe not. It's either controlled by the GPU dirver or firmware, which iris works "above" so any workarounds would reduce visual quality further compared to a lower-level fix. What I think might be of interest is testing my hypothetical dithering fix after I get it working with a microscope or capture card, etc.

            Just a small update - I've just tried decreasing the camera brightness in phone's settings and it seems to be able to see whole pixels behavior, even on high brightness of target screen, so that's a good sign as it should allow for tests on the whole spectrum.

            I've quickly checked Mac screen with Windows 10 again and while on slowmo it shows flicker, when observing it with bare eye there seems to be another layer of dithering where pixels change their colors slower. It's like fading in and out between two shades every 0.5-1s. It might be the same thing, but perhaps there is both some PWM-like behavior on subpixel level which gives flicker in slowmo and another - dithering-like that can be observed without 120fps. I'll have to check if Ditherig can stop this slow dithering and if it's visible the same way when I record it in standard, (non-slowmo) mode.

              andc We should also send this to notebookcheck.net, they did PWM tests and seem to care about this issue.

                martin
                I've been thinking about it too, it would be great if they performed similar tests during their reviews. It could allow us, "the affected ones" to check which devices may be fine, which we can't do apart from PWM.

                Let me finish the second round of tests (will happen around weekend) which may reveal more issues and as a result provide more details to share with 3rd parties. I'd like to confirm what exactly this observed issue is first. There's still a small chance that it's caught by camera, but is irrelevant to our problems.

                  4 days later

                  Short news after further tests on W10. I've tried these options (Macbook Pro with Win10 over Bootcamp) on rgb(0,50,0), i.e. deep green in full brightness:
                  - Standard view (no modifications)
                  - Ditherig on
                  - Intel graphics powersaving settings disabled
                  - Intel Iris graphics driver disabled in Device Manager (it should equal going to standard VGA driver)

                  All of these variants produce the same flicker that can be seen on two videos above. It might be dithering on screen level as neither Ditherig or standard VGA can disable flicker on this thing. Does anybody know if Ditherig should work on Macbook's Iris cards?

                  • JTL replied to this.

                    andc All of these variants produce the same flicker that can be seen on two videos above. It might be dithering on screen level as neither Ditherig or standard VGA can disable flicker on this thing. Does anybody know if Ditherig should work on Macbook's Iris cards?

                    How about trying a REALLY OLD build of Win10? I think the oldest Windows you can install is 8.1 or Windows 10 build 1507.

                      JTL So now we're sure that Eyestrain is from Flickering, Flickering is from PWM Rate, or Color Dithering, PWM Rate is from Screen, Color Dithering is from Driver/GPU/Screen. These are all major possible causes, right?

                      What is eyestrain:
                      Flickering = Eye Muscle Tired cause Eyestrain
                      Two flickering source: 1. screen flickering = PWM, 2. pixel flickering = Color Dithering

                      EYESTRAIN <- Flickering <- PWM (higher is better)
                                              <- Color Dithering (disable it)
                                              

                        eDenon-2 Plus still unknown type of alleged pixel flicker in specific software/apps/games on otherwise known-good setups. Plus maybe DC ripple. And maybe blue light or other parts of the spectrum (this probably belongs to "brightness").

                        andc Thank you for this work. Yes please as suggested try older win 10, like 1511 was reported to be good for pretty much everyone.
                        About the 3rd parties sharing, basically you dont need to have complete proof, the point is sending an incentive for them to research this also, they might have better tools.
                        Also I cannot believe Intel not only closed the thread about eyestrain as "solved", but they dont even want to share the results. I wrote to the guy asking for the lab results to be published.

                        eDenon-2 (maybe) LED Blue Light

                        I would change maybe to "yes"

                        Ok, I’ll have to try 1511 if it could end up in different results. It will mean I’ll probably have to wipe my instance since there seems to be no easy way of installing 3rd OS on Bootcamp.
                        By the way - here’s interesting video I came across through YT recommendation:

                        https://youtu.be/3BJU2drrtCM

                        These guys seem to have great cameras that can both make a proper zooming in, and film with 100kfps - this should see the actual processing in action, maybe even PWM on Macbooks 😉

                        • JTL replied to this.
                        • KM likes this.
                          dev