CGCookie / retopoflow

A suite of retopology tools for Blender
2.49k stars 250 forks source link

Screen flickering when exiting from RetopoFlow #1148

Open borco opened 2 years ago

borco commented 2 years ago

PLEASE READ THE FOLLOWING AND USE THE TEMPLATE TO POST YOUR ISSUE

Questions not directly related to the RetopoFlow project are considered general and should be posted elsewhere (e.g. git, blender, python, etc).

Before raising the issue, please check the following first:

 

Issue Template


Please prefix your issue name with one of the following: [BUG] [PROPOSAL] [QUESTION]

Retopoflow Version: 3.2.2 / 3.3.0 alpha

Blender Version/Hash: 3.2.2, macOS Apple CPU version

Platform Version/Distribution: macOS Monterey 12.5, Mac mini (M1, 2020, 16GB)

 

Issue:

After exiting RetopoFlow, the screen flickers for a couple of seconds.

I've recorded the screen using QuickTime Player and my old iPhone. Unfortunately, neither recording is able to show the flickering, as it is subtle (but annoying).

 

How to Reproduce:

https://user-images.githubusercontent.com/1324836/183877613-fe29129d-6bd2-4aae-9ea0-1444519d465f.mp4

https://user-images.githubusercontent.com/1324836/183877854-4caedd25-45fd-4d6f-8dc6-f98e7d1670e0.mp4

vxlcoder commented 1 year ago

thanks for the report, @borco, and I'm sorry that I'm just now getting around to replying!

I'm not exactly sure what flickering you're seeing. as you noted, I cannot see it in either video, and I don't notice it on my machine. i especially don't notice it for a few seconds.

I will say that there are small changes in view that could appear as a flicker, but these are likely not the same as what you're seeing.

i do notice a slight flicker when the T and N panels are hidden when starting RF. unfortunately, this is a Blender rendering issue, not RF. however, you can workaround this by disabling panel hiding (RF Options > Viewport Display > uncheck Hide Panels With No Region Overlap) and disabling region overlap (Blender Prefs > Interface > uncheck Region Overlap)

Do you have any more details? I do have access to a M1 MacBook, so i'll see if I can replicate this issue when I'm using that machine again.

borco commented 1 year ago

Just installed 3.2.9 and the flickering is still present. Also, while running the RetopoFlow, the whole screen looks very "granulated". This "granulation" extends outside the Blender window (the bottom macOS launcher is also granulated, for example).

vxlcoder commented 1 year ago

Thank you for checking, @borco.

Are you able to take a screenshot that captures what you are meaning by "granulated"?

When RF starts up, it "covers" all the other areas of Blender with a dithered black mask, which looks kind of like the old-school screen door effect used to give the illusion of transparency when alpha compositing didn't exists / was way too expensive to compute in real time. Is this what you're referring to?

image

vxlcoder commented 1 year ago

(clicking on the image above will open in a new tab without scaling)

borco commented 1 year ago

Normal

Without Retopo

Retopo running

With Retopo

vxlcoder commented 1 year ago

it's tricky to see with phone captures like this, but I think I'm seeing what you're seeing. Are you able to use Shift+Cmd+3 or Shift+Cmd+4 to capture the display pixel values directly?

borco commented 1 year ago

Taking screen shots with S+C+3/S+C+4 looks ok, as expected in my opinion. to me, it looks like something weird happens with the LCD itself when running RetopoFlow.

vxlcoder commented 1 year ago

I do know one thing... the M1/M2 graphics driver is really new, so there are lots of bugs (ex: see issue #1042), and this might be one of them.

let me pull out the m1 mbp i bought specifically do debug issue #1042, and let me see if I'm getting the same results as you.

vxlcoder commented 1 year ago

@borco, I still have not been able to reproduce this issue, but I also made significant progress on removing dependence on the deprecated bgl module. can you try the latest version (linked below) to see if that resolves this issue?

https://www.dropbox.com/s/16xu7mowqkbm3mm/RetopoFlow_v3.4.0-alpha-GitHub.zip?dl=0

borco commented 1 year ago

@vxlcoder Unfortunately, there is no change for me (checked with blender 3.6.0, macOS Ventura 13.4, mac mini M1).

There is also something akin to LCD burn-in/afterimage when starting the plugin, as seen in bellow attachments:

  1. start the retopoflow
  2. close the retopoflow help
  3. an afterimage of the help remains on the screen - it slowly fades out in 10-15 secs

Closing the retopoflow (or minimizing the blender window while retopoflow runs) makes the whole screen flicker (the flickering is not restricted to the blender window, but affects the whole screen).

retopoflow help

retopoflow help afterimage

vxlcoder commented 1 year ago

you downloaded and installed from the most recent link?

it's almost like a bug in blender or in apple's graphics driver or graphics card that is triggered by something RF does.

RF does not use framebuffers anymore, so RF shouldn't keep are previous frame renders...

any chance you could post a video again of this? do software screen captures (not photos of monitor) have this, or is this only in-display issue? do you have a different monitor you can try this with your Mac mini?

also, can you copy-paste anything written to console here? I can write more details on how to do this if you need them.

will try digging more into this, but I am a bit at a loss of what to try next without having a machine that reproduces this specific issue.

I have had a very different issue with one of my laptops with (HP, Intel graphics card) where RF causes blender to crash hard when started. I am pretty certain this is a bug in blender (crashes on a glFlush call in Blender's code, which should not ever happen), but I haven't spent much time debugging yet. maybe these two are related?

borco commented 1 year ago

@vxlcoder I have used the link above (https://www.dropbox.com/s/16xu7mowqkbm3mm/RetopoFlow_v3.4.0-alpha-GitHub.zip?dl=0)

I don't have another monitor to use for testing.

Unfortunately, this is all info I can provide at this time.

vxlcoder commented 1 year ago

thank you, @borco.

I made a little progress on the other issue I mentioned. will update once I have something ready to test again.