2013-01-04 2 views
0

현재 2 차원 UIView 인스턴스를 인스턴스화합니다. 각 UIView의 drawRect는 1 ~ 2 개의 도형을 그릴 수 있도록 재정의됩니다.UIView의 그리드 속도를 높이는 방법은 무엇입니까?

눈금이 커질수록 각 하위보기의 drawRect에 소요되는 시간이 지나치게 길어집니다. 2-3 셰이프 만 있기 때문에 2-3 개의 고유 한 UIView를 각각 한 번 그리면 행렬의 렌더링 속도를 높이고 매트릭스에 적절한 미리 그린 UIView의 복사본을 어떻게 든 인스턴스화합니다.

UIView를 UIImage로 캡처하고 UIImage의 복사본을 만들고이 복사본을 인스턴스화하는 것을 고려했습니다. 이 과정의 오버 헤드가 drawRect보다 상당히 빨라지 지 않으면 궁금합니다.

2 차원 매트릭스에서 UIView를 재사용하여 속도 최적화에 대한 우수 사례를 제시 할 수 있습니까?

+0

실험으로, drawure 재정의를 간단한 UIImageViews로 바꿨습니다. 속도 향상은 엄청 났으므로이 경우 드로잉 접근 방식을 완전히 포기할 수 있습니다 ... 프로그래밍 방식으로 드로잉 (예 : 획 폭)을 조정할 수있는 유연성을 좋아했지만. –

답변

0

이 문제의 빠른 해결 방법은 추가 업데이트가 필요없는 지정된 UIView의 shouldRasterize 속성을 활성화하는 것입니다.

관련 문제