Tout comme le titre l'indique, y a-t-il une différence? J'utilisais pygame.display.flip
et j'ai vu sur Internet qu'au lieu d'utiliser flip, ils utilisaient pygame.display.update
. Lequel est le plus rapide?
La principale différence entre pygame.display.flip
et pygame.display.update
est que
display.flip()
mettra à jour le contenu de tout l'affichage display.update()
permet de mettre à jour une partie de l'écran, au lieu de toute la zone de l'écran. Sans passer d'arguments, met à jour l'affichage entier Pour indiquer à PyGame quelles parties de l'écran il doit mettre à jour (c'est-à-dire dessiner sur votre moniteur), vous pouvez passer un seul pygame.Rect
objet , ou une séquence d'entre eux à la fonction display.update()
. Un Rect dans PyGame stocke une coordonnée width
et height
ainsi qu'une coordonnée x
- et y
- pour la position.
PyGame fonctions d'aube intégrées et la méthode .blit()
par exemple, retournent un Rect, vous pouvez donc simplement le passer à display.update()
fonction pour ne mettre à jour que la "nouvelle" zone dessinée.
Du fait que display.update()
ne met à jour que certaines parties de tout l'écran par rapport à display.flip()
, display.update()
est plus rapide dans la plupart des cas .
Flip mettra toujours à jour tout l'écran. Update met également à jour tout l'écran, si vous ne donnez pas d'argument. Mais si vous donnez des surfaces comme arguments, il ne mettra à jour que ces surfaces. Cela peut donc être plus rapide, selon le nombre de surfaces que vous lui donnez et leur largeur et hauteur.