소스에 관계없이 표시 목록의 스테이지 무효화 신호 렌더링시 모든 벡터 자산을 그려서 다시 그려야합니다.
저는 Flash Pro의 대지를 통한 저작 도구가 중요한 최적화로 변환되지 않는다고 생각합니다. 생각보다 복잡하기 때문에 타임 라인 레이어 요소 그룹, 그림자, 그라데이션 및 둥근 사각형과 같은 프리미티브와 같은 요소가 다르게 처리 될 수 있습니다. 또한 연필 도구로 만든 선은 브러시 획보다 메모리가 적습니다.
Flash Catalyst와 마찬가지로 Flash Pro는 각 벡터를 개별적으로 렌더링하므로 복잡한 객체는 게시 된 응용 프로그램에서 성능이 크게 저하 될 수 있습니다. 기호는 두 번 이상 나타나는 요소에 사용되어야하고, 요소는 그룹화되어야하며, 타임 라인 레이어는 변경되지 않은 요소에서 분리해야합니다.
Flash Player 10 and AIR 1.5 provided a new drawing API 코드 실행 횟수를 줄여 성능을 높일 수 있습니다. 이 기능은 다음과 같습니다
- drawPath()
- drawGraphicsData()
- drawTriangles() 언급 한 바와 같이
, cacheAsBitmap
번역의 성능을 향상시킬 수 있습니다; 그러나 크기가 조정되거나 회전 될 때 다시 그려집니다.
래스터 비트 맵 에셋은 거의 항상 최고의 성능을 제공합니다. blitting/bit blit과 애니메이션 용 비트 맵 스프라이트 시트와 같은 기법은 벡터 드로잉보다 성능이 우수합니다.
내 앱에서 자주 구현하는 기술은이 StackOverflow 게시물 (AS3 Blitting - Copy Pixels getting some of the souce image)에 표시된 것과 같이 벡터 애셋의 스테이지 렌더링이 아닙니다.
이 방법을 사용하면 벡터 에셋의 크기가 조절 될 수 있습니다. 그러나 비트 맵만 표시 목록에 추가됩니다.
그래픽 렌더링 성능에만 국한되지 않고 Shape
또는 Sprite
을 사용하면 동적 인 MovieClip
클래스에 비해 성능이 약간 향상됩니다.
차이가 없어야합니다. 포함 된 SWF는 펜 도구 또는 이와 유사한 도구를 사용하여 그려지더라도 Drawing API를 사용할 때와 동일한 방법으로 벡터를 그립니다. 벡터 그래픽은 여전히 그려야합니다. 비트 맵을 사용하면 벡터보다 훨씬 빠르지 만 말했듯이 비트 맵을 사용할 수없는 경우가 있습니다. –
질문에 직접적으로 관련이 없지만 동영상 클립에 cacheAsBitmap = true를 설정하여 렌더링 성능을 향상시키기 위해 비트 맵으로 처리 할 수 있습니다. –