installLoops() {
window.requestAnimationFrame(this.loop.bind(this));
}
loop() {
this.now = Date.now();
var delta = this.now - this.last;
this.last = this.now;
this.dt = this.dt + delta;
if (this.dt < this.rate) {
window.requestAnimationFrame(this.loop.bind(this));
return;
} else {
this.game.loop();
this.draw();
this.dt = this.dt - this.rate;
this.game.loopKeyboardInput(this.key_pressed_map);
this.key_pressed_map = {};
}
window.requestAnimationFrame(this.loop.bind(this));
}
我搬了
this.game.loopKeyboardInput(this.key_pressed_map);
this.key_pressed_map = {};
到调用游戏循环的块内部,这使我的平均速率从12.56提高到56+。但是,在性能测试中,我的帧速率仍然下降到13(最低)。 (由于性能抽样,我不确定是否会发生这种情况)。
如何才能获得更高性能的刻度代码,以保持最低帧速率?