我已经创建了自己的画布,该画布已经从JPanel扩展而来,但是我已经注意到w /内容等等,突然之间我的FPS受到了重创。我遵循来自Filthy Rich Clients的挥杆规则,通过使用paintComponent,创建剪辑区域,仅重绘已更改的内容等等。我将FPS设置为50 FPS,我注意到有时我的FPS会跳到31/32 FPS并回到50等等。运行我的程序时,即使在渲染时,也只使用大约25MB的RAM和0的CPU。我也有OpenGL设置。要在Java2D中绘制子类以绘制哪个组件(用于2D游戏)
注:我没有图像,这是严格使用图形中的形状。
通过绘制JPanel上的所有内容,是否存在重大性能下降?我应该扩展一个不同的组件吗(我一直看到Canvas组件)?在JPanel中构建诸如俄罗斯方块(或任何其他复古游戏)的游戏有多“聪明”?
这是一个可能性,这是一个计时器问题,因为我刚刚添加了100个额外的绘画调用,FPS仍然做50 32/31的事情。
经过大量调查后我发现问题根本不在于JPanel。事实上,问题在于Java中的Timer。这不是100%准确的,这导致了FPS的退出。 我解决这个问题的方法是阅读:http://www.koonsolo.com/news/dewitters-gameloop/ – abc123 2011-04-19 04:07:17