При тестировании производительности мой код рисования занимает большую часть обработки. Я называю это каждый кадр, когда мне нужно рисовать.Более совершенный код рисования холста?
BoardDisplay.prototype.drawCursor = function (client, context, vx, vy) {
context.beginPath();
var size = 25;
context.arc(vx, vy, 0.5 * size, 0, 2 * Math.PI, false);
var colors = ["white", "red", "blue", "green", "purple"];
context.fillStyle = colors[this.marble];
context.fill();
context.closePath();
context.beginPath();
var cursorRadius = 5;
context.moveTo(vx - cursorRadius, vy);
context.lineTo(vx + cursorRadius, vy);
context.moveTo(vx, vy - cursorRadius);
context.lineTo(vx, vy + cursorRadius);
context.strokeStyle = "black";
context.stroke();
context.closePath();
};
Я мог бы извлечь эти константы в значения на прототипе. Есть ли другой способ сделать это более результативным?
Я понимаю, что React.js
обновляет только «по мере необходимости», но я рисую холст здесь, а не divs. Указатели оценили.
Как часто вы перерисовываете свой холст? Если вы делаете это в цикле, можете ли вы добавить свой код цикла? – zero298