2014-01-21 3 views
0

나는 easeljs로 1024x768 캔버스를 조작합니다.Easeljs 큰 캔버스 FPS 드롭

<canvas id="testcanvas" height="768" width="1024"></canvas> 

는 내가 개선 할 수있는 방법 (20)에 떨어질 FPS 내 응용 프로그램에서 40로 떨어 참조 콘솔에서 보면, http://jsfiddle.net/2TPHg/

는 HTML 창을 확대하고 사각형을 드래그하여,이 바이올린을 살펴보십시오 it to 60

답변

0

음, 스테이지에 대한 참조가 null이고 올바르게 업데이트되지 않았습니다.

스테이지가 전역 변수이므로 스테이지 개체가 여러 개있는 경우가 아니면 스테이지를 찾을 필요가 없습니다.

티커 이벤트 수신기 기능에서 스테이지를 업데이트하고 티커가 일시 중지되지 않은 경우에만 수행 할 수 있습니다. 마우스로 사용자 상호 작용을 통해

일시 정지 및 일시 중지를 해제 :

http://jsfiddle.net/2TPHg/4/

createjs.Ticker.addEventListener("tick", function(e) { 
    if(e.paused !== true){ 
     stage.update(); 
     txt.innerHTML = createjs.Ticker.getMeasuredFPS(); 
    } 
}); 

나는이와 고체 (60) FPS를 얻을 수 있었다. 콘솔로 추적하는 경우에도 CPU주기가 걸리고 조금만 더 느린 컴퓨터가 느려질 수 있습니다.

+0

당신은 html을 확대 했습니까? 여전히 약 30fps가 훨씬 더 나 빠졌습니다. –

+0

심지어 예제에서 캔버스 크기 (2000px x 2000px) 만 변경하고 null 단계를 참조하고 콘솔로 추적하면 내 컴퓨터 (mac book pro)에서 60fps가됩니다. – egaudette