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 に答える