在 linux 机器上使用 pygame,不断加载新图像并显示它们会减慢程序的速度。
输入图像 (400x300) 采用 PPM 格式,以保持文件大小恒定 (360K) - 不影响 IO 并避免任何解压缩延迟。
它以每秒 50 帧开始,然后在大约 2 分钟后达到每秒 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())
可以做些什么来保持帧速率更加一致?
很可能它与对需要进行垃圾收集的图像的旧引用有关。也许不吧。
无论如何,是否可以在不创建新对象并触发垃圾收集器或任何减慢系统速度的情况下连续加载图像?