添加重复图像会大大降低帧速率

时间:2018-05-11 20:11:50

标签: processing

我正在处理一个非常奇怪的项目。当我尝试显示已经工作的图像的副本时,帧率下降可怕。我已经尝试为备用图像制作第二个构造函数,复制图像并显示副本等。无论我做什么,问题仍然存在。 Here's the project.不断破坏帧率的代码行在“Game”中,如下所示:

a2.display();

如果删除该行,帧速率将恢复正常。

1 个答案:

答案 0 :(得分:2)

应该在类构造函数或setup函数中调用函数loadImage()。该功能很慢,只需要在游戏开始时调用一次,从磁盘加载图像。事实上,这就是为什么游戏在启动一个关卡时会有加载屏幕的原因,因为它们正在从磁盘加载所有图像和资源,这需要时间。

具体来说:将img = loadImage("PurpleSpaceship.png");移出display()函数并改为Ship(int x, int y, int w, int h)函数。

关于优化的主题,你可以有一个变量来保存图像,在类之外,即使有许多船也只加载一次。但是,你的课程实例将分享这些数据。随着您的程序变得更大,更复杂,共享可能会导致错误和混乱。或者一般来说,优化代码往往会降低其稳定性并产生问题,因此,寻求妥协并找到足够的"优化