我昨天刚刚完成了第 14 届 Ludum Dare 48 小时游戏制作比赛的参赛作品 ,并决定在 java 中使用 java2d 进行图形制作。
我对 API 不是很熟悉,也没有做过很多图形编程,但是我的游戏很小(只有十几个非常小的移动物体)所以我以为我可以天真地编程它仍然没有性能问题。
不用说,我错了。游戏在大多数情况下都运行良好,但一旦屏幕上移动的“敌人”太多或分辨率太高,它就会开始明显变慢。
我已经确定性能瓶颈是屏幕绘图功能,当这些功能被注释掉时,游戏速度非常快。
有人可以告诉我我在这里可能做错了什么吗?(非常短的)源代码位于此处,其中大部分是Main类,通常怀疑是在内部游戏循环中调用的draw()函数。
我已经使用BufferStrategy来更新屏幕,所以除非我做错了,否则这不应该是问题。
在此先感谢,伊多。