2012-06-21 7 views
0

화면에 이미지를 그릴 때 KinetickJS를 사용하고 있습니다. 무대에 레이어가 있고 1000 개의 이미지를 base64 형식으로 수신합니다. 먼저 내가 예 1 KinetickJS로 Html 5 캔버스 업데이트

운동

로 그릴려고, 잘 작동하지만 이미지의 1,000 후 나는 드래그하거나 veeeeeeeery slow.So되었다 계층 내가하려고 다음 예제와 함께 뭔가를하려고 할 때

var imageObj = new Image(); 
     imageObj.onload = function() { 
      var image = new Kinetic.Image({ 
       x: imageInfo.LocationX, 
       y: imageInfo.LocationY, 
       image: imageObj, 
       width: imageInfo.Width, 
       height: imageInfo.Height, 
       name: "Update" 
      }); 

      layer.add(image); 
      layer.draw(); 

     }; 
     imageObj.src = "data:image/jpeg;base64," + imageInfo.Image; 

예 2,하지만이 경우 캔버스는

var imageObj = new Image(); 


     imageObj.onload = function() { 

       var canvas = layer.canvas; 
        var context = canvas.getContext('2d'); 
//     context.globalCompositeOperation = "destination-over"; 
      context.drawImage(imageObj, imageInfo.LocationX, imageInfo.LocationY); 


      }; 
     imageObj.src = "data:image/jpeg;base64," + imageInfo.Image; 

그래서 당신이 어떻게 신속하고 /하거나 사용하지 않도록 깜박 만드는 아이디어가 않는 각 업데이트에 대한 점멸하기 시작했다?

+0

kinetick을 사용하여 이미지 또는 레이어를 결합하거나 합치는 방법을 추가하지 마십시오. 나에게 올 이미지가있는 작업이 필요 없기 때문에 위치와 크기를 수정하기 위해 이미지를 배치해야합니다.이 경우 레이어에 이미지가 하나만 있습니다. 이것에 대한 해결책이 있습니까? –

답변

0

최신 KineticJS 4.3은 드래그 및 기타 기능을 상당히 빠르게 향상시킵니다. 이것은 아마 당신의 문제를 해결할 것입니다.

http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.3.0.min.js