많은 수의 객체 (2000+)에서 몰래/조향 동작을위한 라이브러리 클래스를 개발 중입니다. 나는 < 500 인스턴스에서 성능이 합리적임을 알게되었습니다. 숫자가 증가하면 프레임 속도가 느려집니다.ActionScript 3 최적화 - 많은 수의 객체로 성능 향상시키기
플린트 (Flint) 나 Box2D와 같은 라이브러리에서 우스꽝 스러울 정도로 많은 입자/오브젝트를 사용하여 놀라운 성능을 보았 기 때문에, 코드를 최적화/리팩터링하여 좀 더 향상시킬 수 있어야합니다.
비트 연산과 루프 최적화와 같은 기본적인 최적화에 대해 알고 있습니다. 고려해야 할 더 근본적인 접근법이 있습니까? 예를 들어, 현재 각 인스턴스는 벡터 기반 MovieClip입니다. BitmapData로 작업하는 것이 더 효율적입니까?
간단히 말해서 BitmapData 대 벡터 기반 무비 클립을 사용하는 것이 맞다고 생각하면 MovieClip에서 cacheAsBitmap을 true로 설정하는 것보다 훨씬 효율적으로 작업 할 수 있습니다. 일반적으로 말해서 Flex/Flash에서 최대 성능 향상을 얻은 것은 개체의 생성 및 파괴를 엄격하게 제어하는 것으로 보이지만, 분명히 알지만 이미 만들어진 개체를 다시 사용할 수있는 모든 작업을 수행합니다. 또한 플레이어가 Number로 최적화 할 때 uint 또는 int 대신 Number를 사용하는 것처럼 보일 수도 있습니다. – shaunhusain
특히 Google지도 플래시 API와 함께 사용할 코드를 최적화 할 때 이러한 기술을 사용했습니다. 자세한 내용은 http://www.svennerberg.com/2009/01/handling-large-amounts-of-markers-in-google을 참조하십시오. -maps/Bindable의 사용을 피하는 것이 좋습니다. 이는 가능한 불필요한 오버 헤드를 추가 할 가능성이 있기 때문에 권장합니다 (청취자/발송자 코드를 AS3에 추가하고 자동으로 이벤트를 전달하는 데 많은 비용이 듭니다). – shaunhusain