copyPixels 왜케 속도가 안나오죠?
매화
for(var i:Number=0; i=Stage.width - actualWidth; i++){
ExtendBitmap.copyPixels(ExtendBitmap, new Rectangle(actualWidth-1, 0, actualWidth, actualHeight), new Point(actualWidth+i, 0));
}
다음과 같이 사용했습니다. 근데 속도가 너무 안나오네요. 거의 1초이상 체감을 할정도이니....
소문(?)에 의하면 빠르다고 유명한 copyPixels 인데 제가 잘못 쓰고 있는건가요?
-
초고리
스테이지가 1024*768 이라고 가정하고요...
1024*1 짜리 1개
1*768 짜리 1개
이렇게 끝 부분의 픽셀만 한줄씩 복사합니다.
그리고 width 값과 height 값을 늘려 버리는 건 어떨까요?
(right*bottom 쪽은 따로 처리 해줘야할 것 같습니다.) -
사랑
그러게요. 한방에 많이 복사 할수 있는 방향으로 하는게
-
뿡뿡
컨테이너 무비클립을 만들고, 컨테이너 안에 10px정도 복사,
그 후에는 컨테이너 무비클립을 draw메소드로 스테이지 끝까지 복사...
대충 이런 식으로 하면 10배 정도의 속도는 더 나오지 않을까요....
10px을 20px로 늘리거나... 하는 건 테스트 해보면서 최적화 값을 구해내면 될 거구요..
즉, for루프를 두 번 돌리는 겁니다.
한번은 컨테이너 클립에 copyPixel, 다른 한 번은 컨테이너 클립을 복제하는 draw에 루프를.. -
아인
질문자//
mc.onEnterFrame = function(){
if(actualWidth + Math.pow(2, counter) Stage.width){
ExtendBitmap.copyPixels(ExtendBitmap, new Rectangle(actualWidth-1, 0, (actualWidth-1) + Math.pow(2, counter), actualHeight), new Point((actualWidth-1) + Math.pow(2, c -
소아
질문자//
이미지의 끝부분을 Stage끝까지 확장시킬려고 합니다. 그래서 이미지의 마지막픽셀을 가로로 쭉 복사하는겁니다
다시 생각해봐야겠어요. -
여름
아무리 빠른 메소드도... 무진장 많은 loop에는 재간이 없...
가로 300px / 세로 300px 인...
우리 눈에는 작은 이미지도 한 픽셀씩 카피하면 9만번을 카피해야하죠.
음... 어디에 어떻게 쓰이는 loop인지는 모르겠으나,
꼭 Stage.width - actualWidth 만큼 돌려야하는지,
loop 횟수를 줄이거나 한 큐에 복사하는 방법은 없는지 고민해 보시는게 어떨런지... ^^;