0

基本上,我已经编写了一个 JApplet,我现在需要设置一个恒定的帧速率。我实现了一段非常简单的调用 Thread.sleep 的代码:

long sleep = (long) (20e6 - System.nanoTime() + t);
if(sleep > 0){
    try{
        Thread.sleep((long) (sleep / 1e6));
    } catch (Exception e) {}
}
t = System.nanoTime();

当我在 Eclipse 中运行时,一切都很好,但是当我在浏览器中运行它时,帧速率变得非常不稳定,看起来像是滞后。在浏览器中,它在没有 Thread.sleep 调用的情况下运行良好,只是比我需要的要快得多。

任何有关为什么会这样或解决此问题的方法的帮助将不胜感激。

4

1 回答 1

1

作为替代方案,请考虑,如此javax.swing.Timer所示。

于 2011-09-08T06:22:24.383 回答