전부 감상
ByteArray를 이용해 BitmapData 속도 높이기
BitmapData의 getPixel과 setPixel대신 ByteArray를 이용하면 어느정도 속도를 높일 수 있을까 시험해 봤습니다. 해당 좌표의 color 를 얻어오는 getPixel 메소드 테스트 입니다. var t:uint; function start(){ t=getTimer() } function result(){ trace((getTimer()-t)+" millisecond") } var xx,yy,i var w:uint=stage.stageWidth var h:uint=stage.stageHeight var bitmap:BitmapData=new BitmapData(w,h) bitmap.draw(img) var data:ByteArray=new ByteArray() addChild(new ..
Flash Player10에서의 FileReference
보안샌드박스 Flash Player10에서 기존 Filerefrence와, 또 새로 추가되는 매서드에 대한 보안 샌드박스가 강화되어 적용되었습니다. 파일선택과 다운로드시 사용자의 직접적인 인터렉션을 필요로 합니다. Filerefrence.browse를 통해 사용자의 로컬의 파일을 찾는 창을 띄울수 있고, Filerefrence.download를 통해 파일을 내려 받을수 있습니다. 두 메서드의 경우 종전엔 사용자의 UI 인터렉션을 필요로 하지 않았습니다만, Flash 10에서는 사용자가 직접 UI인터렉션을 취해야 작동하게 됩니다. 로컬파일을 불러오고 저장할때 사용자의 직접적인 인터렉션을 필요로 합니다. Flash 10에서는 SWF파일에서 사용자 로컬의 파일을 읽어오고 또 저장할 수 있습니다. 다만, 이 메..
ActionScript Performance Optimization 1
performance & optimization 관련하여 조사한 자료들을 정리해 보았다. 기존에 알던 것들도 있고, 새롭게 알게 된 것들도 있다. 하나하나가 크게 영향을 미치진 않겠지만 이러한 코딩 습관들이 모이다 보면 결과적으론 performance 에 좋은 영향을 미치리라 생각한다. 1. Declaration of variable type ( 변수의 타입 선언 ) var num:Number; var str:String; 2. Avoid implicit types conversion of numeric types( 강제 형변환 회피 ) var num:int = 10; Math.sqrt( num ); //** Math.sqrt( num:Number ) 이므로 위와 같이 타입이 다른 변수의 대입은 피하는것..
비트맵 이미지 사용에 대한 생각
보통 플래시에서 이미지를 사용할 때 jpg와 png가 사용된다. 알파값이 필요한 이미지라면 png를, 사진 이미지 혹은 알파값이 필요없는 이미지는 jpg를 사용한다. jpg는 png보다 용량이 작기 때문에 용량부분에 있어서 용이하다. 하지만 cpu부분에서도 많은 차이를 보인다. jpg는 알파값이 없기 때문에 화면 렌더링에서 효율적이지만 png는 알파값때문에 화면 렌더링할 때 많은 부하를 보인다. 화면이 움직이지 않으면 상관없으나 화면이 움직여서 새로 렌더링이 된다면 cpu사용량이 늘어난다. 한번 화면이 움직이고 나서 멈춰도 cpu사용량은 움직이기 전만큼의 사용량으로 돌아가지 않는다.
복잡한 이미지는 비트맵으로.
복잡한 드로윙(벡터)가 bg로 깔려있고 그 위로 무비클립들이 지나다닐 때.. 화면 렌더링상 벡터로 된 bg는 많은 cpu를 차지하게 된다. bg가 움직이지 않더라도 bg위로 움직이는 많은 무비클립들과 겹쳐지게 됨으로써 화면을 다시 그리게 되기 때문이다.(때문인 듯) 벡터 bg가 단색이나 간단한 그림 혹은 단색이면 큰 차이는 없으나 여러 필터와 가지각색의 색상이 들어가면 cpu 격차는 더욱더 심해진다. 그 bg를 cache as bitmap으로 설정해 주어도 마찬가지이다. bg를 벡터가 아닌 비트맵 이미지로 해놓으면(같은 그림) cpu점유율은 엄청난 차이를 보인다. 테스트 결과 40%의 차이를 보였다. 용량이 허용되는 한 안에서는 꼭 비트맵을 사용하도록 해야겠다.
Flash 보안 관련
http://ddongkang.tistory.com/89 http://lovedev.tistory.com/339 http://1004lucifer.tistory.com/291
AS3.0 Libraries
3D Engines Papervision3D http://blog.papervision3d.org/Away 3D http://www.away3d.com/ Sandy 3D http://www.flashsandy.org/ Alternativa Platform http://blog.alternativaplatform.com/en/ FIVe3D http://five3d.mathieu-badimon.com/ WireEngine3D (we3d) - A lightweight and fast 3D Engine for Flash 8/9. http://osflash.org/we3d/ Sharikura http://temp.roxik.com/datas/physics/ 3D Game Engines PaperWorld 3D h..