저는 앱의 주요 부분 동안 지속적으로 실행되는 iPhone 4+에서 고정밀 코어 모션 읽기 (가능한 경우 => 100Hz) 및 동작 분석을하고 싶습니다. 모션 응답과 분석 코드가 보내는 신호는 가능한 한 지연이 없어야합니다.CoreMotion 및 정확한 타이밍 목적을위한 NSThread, NSOperation 또는 GCD?
내 원래 계획은 메트로놈 프로젝트의 코드 (여기서는 Accurate timing in iOS)를 기반으로 전용 NSThread를 실행하고 모션 분석기가 스레드를 연결하고 사용하는 프로토콜을 실행하는 것이 었습니다. GCD 또는 NSOperation 대기열이 더 좋을지 궁금합니다.
많은 정보를 읽은 후 내 인상은 규칙적인 간격으로 반복적으로 반복 수행되는 소수의 작업이 아닌 개별적인 일회성 작업을 처리하도록 설계되었으며 매분마다 밀리 초 단위로 사용하는 것이 좋습니다. 부주의로 많은 스레드 생성/파괴 오버 헤드가 발생합니다. 아무도 여기에 어떤 경험이 있습니까?
또한 위의 링크의 코드와 같이 스레드의 끝없는 while 루프의 성능에 대해 궁금합니다. 스레드로 스레드가 작동하는 방식에 대해 더 알고있는 사람 있습니까? iPhone4는 단일 코어 프로세서이며 다양한 타이밍 및 I/O 요구 사항을 기반으로 스레드를 전환하여 병렬 처리의 효과를 생성하는 지능형 멀티 태스킹 (선점 형)을 사용합니다 ...
끊임없이 실행되는 단순한 "while"루프가 있고 매 밀리 초마다 추가 작업을 수행하는 스레드가있는 경우 프로세서의 스위칭 알고리즘은 무한 루프를 리소스에 대한 "높은 요구"로 간주하여 다른 스레드 나 스레드로부터 호깅합니다 추가 코드 실행 사이의 "중단 시간"에 다른 스레드에 대한 리소스를 더 많이 할당 할만큼 똑똑 할만큼 똑똑합니까? 도움말 및 전문 지식에 미리
덕분에 ...
감사합니다. 이러한 링크에는 CoreMotion이 별도의 스레드에서 추가 계산을 수행하여 태도 좌표를 얻는 것과 같은 유용한 정보가있었습니다. 아직도 내가 아는 사람이라면 질문의 일반적인 스레딩 측면에 대해 더 알고 싶습니다 ... –