[0.15.2] Intense flickering on fully-rendered map view
Posted: Wed Apr 26, 2017 2:27 am
So I decided to make a poopton of smelting lines earlier, around eight to ten, 24 stone furnaces each. I'm pretty sure people are familiar with the design.
I noticed that if I zoom in /just/ enough in the map to get the view to go into fully-rendered.. Renderedness, that the middle entities flicker in and out of existence. My gut tells me that Factorio is doing this:
CreateEntities();
RefreshDisplay();
WaitForVBlank();
EraseEntities();
RefreshDisplay();
CreateEntities();
RefreshDisplay();
(...)
I believe that there's room to hit two birds with one stone here to get rid of the flickering and add a small(?) optimization at the same time; just take out the second RefreshDisplay();!
CreateEntities();
RefreshDisplay();
WaitForVBlank();
EraseEntities();
CreateEntities();
RefreshDisplay();
(...)
Interestingly, the flickering doesn't seem to happen near the edges of the screen. I'm a little baffled by this, and why it wasn't noticed already considering how massively dense your new test factory is, but it might have to do with me having a 144 hz monitor. Maybe it's worth investigating if Factorio is assuming a refresh rate of 60 hz, too?
EDIT: Toggling VSync doesn't fix it.
I noticed that if I zoom in /just/ enough in the map to get the view to go into fully-rendered.. Renderedness, that the middle entities flicker in and out of existence. My gut tells me that Factorio is doing this:
CreateEntities();
RefreshDisplay();
WaitForVBlank();
EraseEntities();
RefreshDisplay();
CreateEntities();
RefreshDisplay();
(...)
I believe that there's room to hit two birds with one stone here to get rid of the flickering and add a small(?) optimization at the same time; just take out the second RefreshDisplay();!
CreateEntities();
RefreshDisplay();
WaitForVBlank();
EraseEntities();
CreateEntities();
RefreshDisplay();
(...)
Interestingly, the flickering doesn't seem to happen near the edges of the screen. I'm a little baffled by this, and why it wasn't noticed already considering how massively dense your new test factory is, but it might have to do with me having a 144 hz monitor. Maybe it's worth investigating if Factorio is assuming a refresh rate of 60 hz, too?
EDIT: Toggling VSync doesn't fix it.