Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 태그클라우드
- 형변환
- flash cs3
- scaleform3
- flash
- GDC
- ApplicationDomain
- 클릭
- scaleform
- as3.0
- 수학정석
- CLIK
- 플래시
- 집합의 연산
- flash player 10
- MMOKit
- addChild
- 샌프란시스코
- Chart
- DataBinding
- 스케일폼
- scaleform4
- 강좌
- autodesk
- Document Class
- watch
- 애드온
- as3
- as2
- KGC 2013
Archives
- Today
- Total
scaleform.minarto.com
as2 & CLIK 기반 스케일폼에서 너무나 간단한 최적화 방법 본문
지금 설명할 방법은 간단히 말해서 꽁수입니다.
CLIK 기반의 스케일폼에서 함수 하나만 오버라이딩 하면 바로 적용되는 궁극의 필살기(?)입니다.
public function invalidate():Void { if (invalidationIntervalID) return; invalidationIntervalID = setInterval(this, "validateNow", 5); }
끝났습니다 :)
UIComponent 클래스를 파본 분은 아시겠지만, 원리는 이렇습니다.
렌더링을 바로 1ms 마다 하게 됩니다. 정확히는 draw 함수를 1ms 마다 실행하지요. 그 시간을 늘려주는 겁니다.
바로 위의 코드에 숫자로 써있는 5가 바로 5ms 로 늘려준 겁니다. 확실하게 테스트를 해보시려면 한 500 정도 줘보시면 됩니다. 그러면 이론상 0.5초마다 렌더링 되겠지요..
(as3 는 시간이 아닌 프레임 단위입니다. 응용해보시길...)
이런 코드를 최적화할 녀석들에게만 적용해줍니다. 당연하게도 이 함수를 적용한 컴포넌트만 적용됩니다
(물론 성능보다 반응성이 중요한 UI 요소에는 추천하지 않습니다.)
물론 위의 방법은, UIComponent 클래스에서 제시(?)하는 대로 draw 함수 단에 대부분의 렌더링 될 요소들의 변경점을 정의하였을 경우 크게 이득이 생길 겁니다.