Linux マシンで pygame を使用すると、新しい画像を継続的に読み込んで表示すると、プログラムの速度が低下します。
入力画像 (400x300) は、ファイル サイズを一定 (360K) に保つために PPM 形式になっています。これは、IO に影響を与えず、解凍の遅延を回避するためです。
1 秒あたり 50 フレームで始まり、約 2 分後には 1 秒あたり約 25 フレームになります。
import pygame
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((800, 600),pygame.FULLSCREEN)
frame=1
while 1:
image = pygame.image.load(str(frame)+".ppm")
screen.blit(image,(0,0))
pygame.display.flip()
clock.tick(240)
frame=frame+1
if(frame%10==0):
print(clock.get_fps())
フレームレートの一貫性を保つにはどうすればよいですか?
ほとんどの場合、ガベージ コレクションが必要なイメージへの古い参照と関係があります。そうでないかもしれない。
新しいオブジェクトを作成したり、ガベージコレクターをトリガーしたり、システムの速度を低下させたりすることなく、画像を継続的にロードする方法はありますか?