캔버스의 성능 저하가 드로잉 자체 또는 무엇을 그려야하는지 계산하는 기본 로직으로 인해 발생하는지 어떻게 알 수 있습니까?느린 HTML5 Canvas 성능의 원인을 알려면 어떻게합니까?
제 질문의 두 번째 부분은 : 캔버스 fps를 계산하는 방법입니다. 여기 내가 어떻게했는지, 나에게 논리적 인 것처럼 보이지만, 나도 절대 잘못 될 수있다. 이것이 올바른 방법일까요?
var fps = 0;
setInterval(draw, 1000/30);
setInterval(checkFps, 1000);
function draw() {
//...
fps++;
}
function checkFps() {
$("#fps").html(fps);
fps = 0;
}
편집 : 내가 나단의 의견에 따라, 다음에 위의 대체 :
var lastTimeStamp = new Date().getTime();
function draw() {
//...
var now = new Date().getTime();
$("#fps").html(Math.floor(1000/(now - lastTimeStamp)));
lastTimeStamp = now;
}
그래서 어떻게 하나입니까? 마지막 업데이트 이후에도 ms의 차이 만 계산할 수도 있습니다. 성능 차이도 그렇게 보입니다. 그건 그렇고, 나는 또한이 두 가지를 나란히 비교해 보았는데, 대개는 거의 같이 움직였다. (최대 2의 차이), 후자는 성능이 매우 낮을 때 스파이크가 더 컸다.