[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Sync with vertical refresh does not work(?)



Actually I was giving rect args to update. My objects are static and
do not overlap, so it makes sense to render only the small portions of
the screen that change. update without arguments does NOT behave as
flip, btw. With update, my graphics are not displayed properly. I also
figured out that the clear(screen, background) for sprite groups
should not be used, you have to clear the whole screen instead:
self.screen.blit(self.background,[0,0]). Updating the screen with
directx and doublebuf is an all-or-nothing thing it seems.

So, though it's not the most elegant solution, I got it working at least.

Thanks to all you guys, without your assistance I would have gone mad
puzzling around  ;-))

2009/2/1 Jake b <ninmonkeys@xxxxxxxxx>:
> http://www.pygame.org/docs/ref/display.html#pygame.display.flip
> AFAIK: .flip() acts like .update() with no arguments.
> flip() must be called if it's a doublebuffered surface, or, OpenGL. ( So if
> you are not giving args, you might as well call flip instead )
> [ Find + replace in files makes it a single action. ]
>
> On Sun, Feb 1, 2009 at 8:37 AM, Matthias Treder
> <matthias4all@xxxxxxxxxxxxxx> wrote:
>>
>> I have a Geforce Go 7600. There seems to be smth with the drivers
>> indeed: I installed the latest nvidia drivers, and when I use
>> pygame.DOUBLEBUF|pygame.FULLSCREEN there's no tearing (irrespective of
>> whether I use SWSURFACE or HWSURFACE). It does not sync in windowed
>> mode, but fullscreen is fine.
>>
>> However, with these settings a new problem arises: Graphics are only
>> properly displayed if I use pygame.flip(). When I use pygame.update()
>> either nothing appears or the animation is not as intended. Does only
>> flip() but not update() wait for a vertical retrace, as it seems to be
>> indicated in the docu?
>> Does it mean I have to change all my update()s to flip()s now?