Processing 添加重复图像大大降低了帧率

Processing 添加重复图像大大降低了帧率,processing,Processing,我在做一个项目,遇到了一个非常奇怪的问题。当我试图显示一个已经在工作的图像的副本时,帧速率会急剧下降。我试着为备用图像制作第二个构造器,复制图像并显示副本,等等。。不管我做什么,这个问题仍然存在。不断破坏帧率的代码行位于“游戏”中,如下所示: a2.display(); 如果删除该行,帧速率将恢复正常。应在类构造函数或设置函数内调用函数loadImage()。该函数很慢,只需要在游戏开始时调用一次,即可从磁盘加载图像。事实上,这就是为什么游戏在启动关卡时会加载屏幕的原因,因为它们从磁盘加载所有

我在做一个项目,遇到了一个非常奇怪的问题。当我试图显示一个已经在工作的图像的副本时,帧速率会急剧下降。我试着为备用图像制作第二个构造器,复制图像并显示副本,等等。。不管我做什么,这个问题仍然存在。不断破坏帧率的代码行位于“游戏”中,如下所示:

a2.display();

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

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

具体来说:move
img=loadImage(“PurpleSpaceship.png”)退出
display()
函数,进入
Ship(int x,int y,int w,int h)
函数


关于优化主题,您可以有一个单独的变量来保存图像,在类之外,即使有很多船,也只能加载一次。但是,您类的实例将共享该数据。共享可能会导致错误和混乱,因为您的程序变得更大、更复杂。或者一般来说,优化代码往往会降低其稳定性并产生问题,因此,最好寻求折衷方案并找到“刚好足够”的优化。

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

具体来说:move
img=loadImage(“PurpleSpaceship.png”)退出
display()
函数,进入
Ship(int x,int y,int w,int h)
函数

关于优化主题,您可以有一个单独的变量来保存图像,在类之外,即使有很多船,也只能加载一次。但是,您类的实例将共享该数据。共享可能会导致错误和混乱,因为您的程序变得更大、更复杂。或者,一般来说,优化代码往往会降低其稳定性并产生问题,因此,最好寻求折衷方案并找到“刚好足够”的优化方案。

你能发表一篇文章吗?你能发表一篇文章吗?