出于某种奇怪的原因,当我在本地运行服务器时,我得到了一个稳定的 59fps
。但是当我上传到 AWS 时,它给我的速度不到一半 - 24fps
我也尝试过使用 setInterval()
,但效果相同
有什么想法吗?
var previousTick = 0;
//Update LOBBIES
function gameLoop(){
var now = new Date().getTime();
if(previousTick + Math.floor(1000/settings.cps) < now){
previousTick = now;
checkCPS();
var pack = {
server: {
cps: cpsSave
}
};
for(var L in LOBBY_LIST){
var lobby = LOBBY_LIST[L].title;
pack.players = Player.update(lobby);
for(var S in SOCKET_LIST){
var user = SOCKET_LIST[S];
if(user.lobby == lobby){
user.emit('refresh', pack);
}
}
}
}
if(now - previousTick < Math.floor(1000/settings.cps) - 16){
setTimeout(gameLoop, 1);//sloppy timer
}
else {
setImmediate(gameLoop);//ultra accurate method
}
}
gameLoop();
答案 0 :(得分:0)
问题是,我正在使用实例 t2.micro
,一旦我切换到 t2.small
,它就开始正常工作