JS очень медленно работает

Делаю игру на JS, очень сильно виснет.

Проведя профилирование в Opera GX выяснил, что ws.onmessage замедляет работу: профилирование Код на 835 строчке:

ws.onmessage = message => {
  const response = JSON.parse(message.data);
  if (response.method === "connect"){
    clientID = response.clientID;
    loginWind.style.display = 'none';
    logo.style.display = 'none';
    version.style.display = 'none';
    canvas.style.display = '';
    news.style.display = 'none';
    messageBox.style.display = 'none';
    messageBox.innerHTML = "";
    sendNick = {
      "method": "nick",
      "clientID": clientID,
      "nick": name
    }
    sendWS(JSON.stringify(sendNick), ws)
  }
  if (response.method === "gameData"){
    render(response);
  }
  if (response.method === "disconnect"){
    Reason = response.reason;
    ws.close();
  }
}

Строка

if (response.method === "gameData"){

отвечает за отображение игры. Что здесь не так?

P.S. Немного изменил систему отрисовки. Раньше было 2 холста, один невидимый, а другой основной. На невидимом рисовалась игра, а потом на видимый переносилась картинка. Сейчас один холст, профилирование такое: профилирование 2


Ответы (0 шт):