매우 복잡한 그리기 논리 (GIS 데이터에서 가져온지도보기)로보기가 있습니다. 기본 스레드에서이 드로잉을 수행하면 UI가 잠기고 앱이 응답하지 않게됩니다. 예를 들어 NSOperation이있는 백그라운드 스레드로 드로잉을 옮기고 싶습니다.iOS의 배경 스레드에서 그리기
구조를 구성하는 가장 좋은 방법은 무엇입니까?
현재 메모리 부족 CGContext를 그리는 중입니다. 그 다음 CGImageRef로 변환하여 주 스레드에서 blit 뷰로 보냅니다. 불행히도 이것은 많은 메모리를 소비합니다. GPU 가속은 더 느리게 진행되므로 더 이상 사용되지 않습니다. 배경 스레드에서보기로 직접 그리는 방법이 있습니까? UIKit 다중 스레드 안전하지 않습니다하지만 어쩌면 드로잉을하는 동안보기를 잠그는 몇 가지 방법이 있습니다 알아요?
CALayer를 의미합니까? –
번호 CGLayer. http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGLayer/Reference/reference.html – MacGeek
그래서 지금이 방법을 시도하고 있지만 NSTimer로 실행하고 50 % 드로잉주기 당 최대 0.1 초 동안 0.2 초 간격으로 실행되는 시간), 모든 UI 이벤트를 여전히 무시하고있는 것처럼 보입니다. 이 트릭이 있습니까? –