나는 손가락 스케치 유형의 앱을 쓰고 있는데,이 앱이 iOS 3.0에서 훌륭하게 작동하도록했습니다. 그러나 iOS 4.0 이상에서 앱을 실행하면 문제가 발생합니다. 특히, 새로운 OS에서 이전 버전보다 터치 이벤트가 약 5 배 느려졌습니다. 이것은 분명히 사이에 그릴 5x 적은 데이터 포인트를 캡처하기 때문에 내 애플 리케이션이 잘 그리지 발생합니다.iOS 4.0에서 터치 이벤트 빈도가 느린 이유는 무엇입니까?
iOS4에서 터치 이벤트 빈도를 높이는 방법에 대한 아이디어가 있으십니까?
저는 드로잉 코드에서 상당히 새로운 편이어서 여기에 일반적인 전략이 있습니다. 나는 UIView 하위 클래스입니다. touches moved 메서드에서 뷰에 그려야하는 점을 저장하는 배열이 있습니다. 또한 발동 될 때 setNeedsDisplay를 호출하는 간격 0.03의 타이머를 만들었습니다. 나는 타이머를 viewDidLoad에서 다음과 같이 선언했다. \t timer = [NSTimer scheduledTimerWithTimeInterval : 0.03 target : 셀렉터 : @selector (timerFired :) userInfo : nil repeats : YES]; – aloo
올바른 방법입니까? 또는 스레드가 여기에서 실행되는 방식으로 뭔가가 누락되었습니다. 별도의 스레드에서 그리면 주 스레드가 차단되지 않으므로 (더 많은 터치 이벤트를 수신 할 수 있습니까?) – aloo
타이머 값이 올바른지 여부를 결정하기 전에 drawRect 코드에 걸리는 시간을 알아야합니다. 특정 유형의 CG 드로잉은 스레드 안전성이 있지만 일반적으로 UI 드로잉 코드는 아닙니다. – hotpaw2