我已经建立了一个非常基本平台“引擎”:
[小提琴已删除]
当您使用箭头键移动时 - 帧速率在精神上很快!
我曾尝试使用以下方法限制帧速率:
var fps = 30;
var now;
var then = Date.now();
var interval = 1000/fps;
var delta;
然后在绘图功能中:
now = Date.now();
delta = now - then;
if (delta > interval) {
//redrawing scene here
then = now - (delta % interval);
}
但不幸的是,这仍然具有相同的帧速率但性能下降(如帧跳过而不是帧速率限制)。
请帮帮我! :(
I'll give you a cookie!
答案 0 :(得分:1)
你应该检查一下你的GameLoop功能。就目前而言,你要求每秒1000帧。糟糕!
当我把它编辑成这个时,它给了我大约33 fps。
GameLoop: function() { //initialise game loop
Game.Vars.GameLoop = setTimeout(function() {
requestAnimationFrame(Game.Functions.Update, Game.C);
}, 30);
},
你有30个写为1 .. :) Choc-chip,如果没关系的话。如果没有,我会吃白巧克力和覆盆子!
编辑: Effing Hell,你做到了! - 必须喜欢那些为自己写的信息。 :d