基本上,我编写了一个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调用,只是比我需要它更快。
对于为什么会这样或者解决这个问题的方法的任何帮助将不胜感激。