비트맵 연산이 많이 사용되는 컨텐츠를 제작할 시에 가변적인 stage.quality 조정은 상당한 performance 향상을 가져올 수 있어 즐겨 사용하는 팁중에 하나이다. 하지만 안타깝게도 아래와 같이 공식적으로 Adobe AIR 에서는 StageQuality.BEST 나 StageQuality.HIGH 만 지원할 뿐 StageQuality.MEDIUM 또는 StageQuality.LOW 를 지원하지 않는다.
AIR 에서 이 속성을 사용하게 되면 그냥 무시되어버린다.
For content running in Adobe AIR, quality can be set to StageQuality.BEST or StageQuality.HIGH (and the default value is StageQuality.HIGH). Attempting to set it to another value has no effect (and the property remains unchanged).
For content running in Adobe AIR, setting the quality property of one Stage object changes the rendering quality for all Stage objects (used by different NativeWindow objects).
- from Flash CS4 Professional ActionScript 3.0 Language Reference
물론 AIR 사용 목적이 과도한 비트뱁 연산을 주로 사용한 비쥬얼적인 요소의 표현이 아닌 desktop application 의 목적이 강한지라 원래의 의도(?) 대로 사용한다면 별다른 아쉬움이 없을 것이다.
하지만, 나와 같이 actionscript 를 visualization 도구로 사용하는 개발자는 아쉬움이 상당히 클것이다. 플래시 컨텐츠를 desktop application 범위로서 좀더 다듬고 싶은 생각이 들어 AIR 로 접근했지만 위 문제로 접어야만 했다.
AIR 가 기본적으로 다중 window 를 지원하여 일괄적인 stage.quality 를 조정할려고 강제로 위 기능을 막아놓은것 같은 생각이 들지만 굳이 위 기능을 지원 안했어야만 했는지는 의문이 풀리진 않는다.
AIR 2.0 beta 도 지원하지 않는다..아쉽다.
Actionscript 의 덩치가 커지면서 Flash IDE 를 기본 액션에디터로 사용하는 것보다 인텔리젼트 기능이 탑재된 외부 에디터를 이용해 프로그래밍하는 것이 작업의 효율성 측면에서 상당한 개선 얻어올 수 있다. 이 포스팅 내용은 compile 도구로 반드시 Flash IDE 를 사용한다는 것을 전제로 한 내용이다.
작업 환경 조합으로는 Flash IDE + Eclipse(FDT) , Flash IDE + Flashdevelop 과 같은 경우의 조합으로 많이 사용하는데 이런 외부 에디터를 사용할 경우 자동으로 syntax 를 사전에 체크해줘 compile 타임에 발생할 수 있는 코드의 문제점을 알아차릴 수 있다. 하지만 compile 을 위해 Flash IDE 와 외부에디터의 창을 이러저리 왔다갔다 하거나 compile 을 기다리는 시간 등, compile 전체에 소모되는 시간이 생각보다 길다라고 느껴질 때가 있을것이다. 특히 수많은 클래스의 사용으로 더욱 그 시간이 길어질 때 더할 것이다. 그래서 이럴경우 compile 시간을 대폭(?) 줄일 수 있는 간단한 tip 하나를 소개할까 한다.

Flash IDE 에서 File -publish Settings… – Flash Tab – Settings… 를 실행하면 위와 같은 화면을 볼 수 있을것이다. 위 radio button 중 Warnings Mode 가 기본적으로는 체크되어있는데 이를 해제하자. Warnings Mode 는 As2.0 코드에서 As3.0 코드로 업데이트할때 발생할 수도 있는 Migration issue 를 리포팅해주는 기능이다.
따라서 체크를 해제하더라도 특별히 문제될건 없다. 이 기능을 해제하게 되면 컴파일 시간이 몰라볼 정도로 빨라지게 된다. 물론 영상이나 폰트를 임베드해서 컴파일이 오래걸리는 경우는 해당사항이 없다. 많은 클래스 파일을 사용하는 컨텐츠일 수록 효과가 크다.
quad core , ram 4 GB , AS file 60개 정도의 환경으로 테스트 해본 결과 Warnings Mode 를 체크를 했을 경우 16 sec 정도 걸리던 시간이 해제했을 경우에는 4 sec 정도로 4배이상 시간이 빨라졌다. 특별히 compile 안정성에 문제가 되는것이 아닌것 같으니 Flash IDE 를 사용하면서 class 를 많이 구성하여 사용하는 사람이라면 compile 에 걸리는 시간을 많이 줄일 수 있을 것이다.
Recent Comments