我有一个动画背景,因为加载图像每一帧都需要很长时间我创建了一个数组,我在启动时加载所有图像。
self.spriteArrayBG = []
i = 1
while i <= 361:
self.path = "CTT/BG/" + str(i) + ".png"
#print(i)
self.spriteArrayBG.append(pg.image.load(self.path).convert_alpha())
i += 1
print("BG Frame #" + str(len(self.spriteArrayBG)))
所有合并的图像大约为90MB。在150个图像之后运行循环时pygame崩溃时出现以下消息:pygame.error:内存不足
然而Pygame使用的是1.5GB的RAM,还有超过20GB的内存供它使用。
那为什么它使用差不多1GB的ram来存储甚至45MB的图像呢?是否有可能分配更多的ram?或者有更好的方法来制作动画背景吗?