iPhone 용 실시간 구문 형광펜을 사용하고 있는데 문자열을 취하고 구문 분석 한 다음 drawRect : 메서드에서 강조 표시하는 사용자 정의 UIView를 만들었습니다. 깜박이는 커서도 구현했습니다. 그러나 조금 느리게 시작되고 멀티 라인 프로세싱과 청크 프로세싱을 구현할 때 속도가 느려질 것이라고 생각합니다. 그러나, 내보기 컨트롤러에서 함수에 [formattedTextView setNeedsDisplayInRect:]
호출을 배치하고 [self performSelectorInBackground:@selector(updateDisplay) withObject:nil]
사용하여 별도의 스레드에서 호출하는 시도했다. 이제는 키보드가 더 잘 반응하지만 싱글 코어 프로세서에서 스레드를 잘못 사용하는 것처럼 보입니다.멀티 스레드 텍스트 처리의 비용/이점
이와 비슷한 문제가 있습니까? 당신이 자신을 지적
감사
많은 문자를 빠르게 연속해서 입력하면 지연이 발생했기 때문에 백그라운드 처리가 제거되었습니다. 다른 점은 - 현재 편집 가능한 행에 정규식을 적용하고 있습니다. - setNeedsDisplayInRect :를 호출하여 현재 줄만 업데이트합니다. 나머지 UIView는 계속 채색되어 있습니다. 감속의 주된 원인은 깜박이는 커서 (awakeFromNib에서 CABasicAnimation을 설정 한 CALayer)가이 애니메이션을 최적화 할 수있는 방법일까요? 또한 ast는 무엇입니까? 전에는 들어 본 적이 없지만 NSMutableArray를 사용하고 있습니다. – Kyle