jonls / redshift

Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night.
http://jonls.dk/redshift
GNU General Public License v3.0
5.82k stars 424 forks source link

Windows blinking / flickering of "classic" Windows menus #849

Open karolzlot opened 2 years ago

karolzlot commented 2 years ago

Describe the bug

My problem is that some Windows menus (including the menu of redshift) blinks / flickers as showed on video below.

What is important that only Windows "classic" menus blinks, any other type of GUI doesn't blink.

Start watching from 0:40 to the end to see a few such blinks / flickers:

https://user-images.githubusercontent.com/11590960/140614610-37bbb0ca-6c7c-454f-be58-5cda7c08315d.mp4

The issue which I describe here I have also when using SunsetScreen, so probably it has something to do with what both programs do in the same way. Altough in SunsetScreen it is more often ("blink" about every 1 sec) and is always. On redshift it is not always and if is then it is about every 3-4 sec I think.

In both redshift and SunsetScreen when I turn off program (click "Disabled" in case of redshift) the problem disappears.

Another video showing the same effect: (I see that not all blinks were catched in this one because of recording fps, I had more blinks than visible)

https://user-images.githubusercontent.com/11590960/140615066-26f31c13-9ed9-4068-a9b8-0ae062cb393d.mp4

To Reproduce Steps to reproduce the behavior:

  1. Enable redshift
  2. Observe for example menu of redshift as shown in video.
  3. In case you can't see this problem restart redshift, sometimes a few restarts are required to see this problem, because it happens only sometimes.
  4. You can also try another application which also blinks, for example: Win + R -> "winver" -> Enter

Expected behavior This shouldn't be happening at all.

Error output/logs/screenshots Above

Software versions (please complete the following information):

ltguillaume commented 2 years ago

Looks like a redraw is triggered somehow. I have some "uneducated" suggestions for what you could try:

Redshift-related

  1. Try using the x64 binary from the Releases page here (replacing redshift.exe from the Redshift Tray Chocolatey package)

Redshift Tray related

  1. Make sure you set keepaliveseconds=0 in "More settings..." (if this helps, then there's work for me to be done).

FYI, Redshift Tray is a separate project (https://github.com/ltGuillaume/Redshift-Tray), but it's more likely that Redshift is causing this. Still, we'd have to check.

karolzlot commented 2 years ago

@ltGuillaume

  1. It didn't help. (Now I think another program SunsetScreen was running at the same time and interfering with this test, so I'm not sure, I can't reproduce this issue currently, I will test it once I see it again.)
  2. It was already set to keepaliveseconds=0
ltguillaume commented 2 years ago

Then I fear it's fully Redshift-related or there's another process interfering with it. Hope someone else here can help you then.

karolzlot commented 2 years ago

I updated my post above.