タイトルが示すように、違いはありますか?私はpygame.display.flip
を使用していましたが、インターネットではフリップを使用する代わりにpygame.display.update
を使用していることがわかりました。どちらが速いですか?
pygame.display.flip
と pygame.display.update
の主な違いは、
display.flip()
はディスプレイ全体の内容を更新しますdisplay.update()
は、画面の領域全体ではなく、画面の一部を更新できます。引数を渡さずに、ディスプレイ全体を更新しますPyGameに画面のどの部分を更新する(つまり、モニターに描画する)かを伝えるには、単一のpygame.Rect
object、またはdisplay.update()
関数へのそれらのシーケンス。 PyGameのRectは、width
とheight
のほか、位置のx
-とy
-の座標を保存します。
PyGameの 組み込みの夜明け関数 および .blit()
メソッドは、たとえばRectを返すので、単にdisplay.update()
関数に渡すことができます「新しい」描画領域のみを更新するため。
display.update()
はdisplay.flip()
と比較して、画面全体の特定の部分のみを更新するため、display.update()
はほとんどの場合高速です。
フリップは常に画面全体を更新します。引数を指定しない場合、更新は画面全体も更新します。ただし、引数としてサーフェスを指定すると、これらのサーフェスのみが更新されます。したがって、与えるサーフェスの数と幅と高さに応じて、より高速になります。