【发布时间】:2012-02-28 22:05:48
【问题描述】:
我在主循环中的代码中有这个(窗口中的 2D 游戏):
try{
synchronized(this){
wait(3);
}
}
catch(Exception ex) {
System.out.println(ex);
}
这段代码导致 FPS 上限为 64,我不知道为什么。我不使用任何其他同步块。有趣的是,当网络浏览器打开时,fps 不再有上限。谁能告诉我如何摆脱 64 fps 的限制?我没有找到与此问题相关的任何其他主题。
编辑:
- 无需等待(3); - 180 帧/秒。
- 等待 (3) 和浏览器 (Opera) 打开 - ~113 fps。
- 使用 wait(3) 且不使用浏览器 - 64 fps。
浏览器怎么会改变fps?
【问题讨论】:
-
谁在做匹配的 notify() 调用?
-
不封顶时你能得到多少 FPS?
-
FPS 在没有上限且没有指定 notify() 调用时约为 115。
标签: java limit wait synchronized frame-rate