I have noticed that my changes are only drawn to the screen upon the second flip. See the following snippet. I would expect the screen to be white for 5 seconds … and then switch to black for 4 seconds.
"""Test psychopy double win flip.""" from psychopy import visual, core win = visual.Window(size=[256, 144], winType='pygame', fullscr=False, ) if __name__ == '__main__': win.color = [1, 1, 1] # make window white win.flip() # win.flip() core.wait(5) win.color = [-1, -1, -1] # make window black win.flip() # win.flip() core.wait(1) win.flip() # this should do nothing because we did not draw since the last flip core.wait(3)
What I see instead is a gray screen for 5 seconds, and then a white screen for 1 second … and then a black screen for 3 seconds. Only if I uncomment the secondary .flip() commands do I get what I expect.
I take this as evidence that my changes only become visible upon the second flip.
Has this issue been seen before? Is it perhaps related to pygame? Unfortunately, I have to use pygame, because I get a set of issues otherwise (see: Gamma problem in v1.90.2)