AWS Beanstalk 上的服务器以半速运行

时间:2021-02-26 21:43:28

标签: javascript node.js socket.io

出于某种奇怪的原因,当我在本地运行服务器时,我得到了一个稳定的 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();

1 个答案:

答案 0 :(得分:0)

问题是,我正在使用实例 t2.micro,一旦我切换到 t2.small,它就开始正常工作