私はLibgdxで小さなゲームを書いています。レンダリング/更新スレッドの同期
すべてのオブジェクトに対してrender()
を呼び出し続けている[OpenGL]スレッドと、update(double delta)
をすべてのオブジェクトで呼び出し続けている 更新スレッドがあります。
更新スレッドはループの速い方法です。いくつかの種類の同期を使用するようにして、スレッドを少し更新することができますか? それにはどんな利点がありますか?
更新
public void run() {
while(true){
nano = System.nanoTime();
long delta = nano - timestamp;
timestamp = nano;
accumulator+=(double)delta/BILION;
while(accumulator >= step){
update(step);
accumulator-=step;
}
long loc = (long) ((step -accumulator)*1000)+1;
try {
Thread.sleep(loc);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
私はその問題があれば知らないが、私の現在の更新は2500から20000のFPSです。更新速度は十分です。
「ユーザーフレンドリーな更新速度」とはどういう意味ですか?私のアップデートは、最小限のステップを上回る速さで実行されます。 woksを与えられたデルタで更新すると、モンスターの速度は同じになるでしょうか? – jellyfication