2017-01-10 2 views
0

나는 CPU 전력 소모량에 관한 Apple의 문서를 읽었지만 몇 가지 질문이 남아 있습니다.iOS의 CPU 사용량과 전력 소비의 관계는 무엇입니까?

1 % CPU 사용량은 CPU 전원을 100 % CPU 사용으로 유지하는 데 동일한 오버 헤드가 있습니까?

각 코어가 독립적으로 전원을 켜고 끕니까?

아이들링이 시작된 후 CPU의 전원이 꺼지기까지 얼마나 걸립니까?

일반적으로 시스템이 자체 작업을 위해 CPU를 사용하므로 CPU를 계속 유지합니까?

특히 제 앱의 경우, CPU 사용 시간이 0 %가되기 어렵습니다. 일반적인 세션에서는 UIScrollView 대리자 호출과 UITableViewCell의 안정된 스트림이 사용자가 앱 주위를 이동하면서 콘텐츠와 상호 작용할 필요없이 리사이클 호출이 될 것입니다. 그러나이 게시물 (https://apple.stackexchange.com/questions/2876/why-does-gps-on-the-iphone-use-so-much-power)을 기반으로하면 CPU는 주요 에너지 원 인 것처럼 들립니다. 나는 그들이 CPU를 약간의 힘을 절약 할 수 있도록 애플 리케이션을 사용하는 동안 작은 일시 중지도 바라고있어, 그럼 난 그냥 장기 실행 작업을 없애기 위해 노력할 수 있습니다.

답변

2

이것은 실제로이 형식으로 대답하기에는 너무 광범위합니다. 이 모든 것은 "의존"하며 OS 및 하드웨어가 변경되면 변경 될 수 있습니다. 그러나, 당신은 각종 energy-related videos from WWDC (그들 중 많은 수가 있습니다)을 보면서 시작해야합니다.

원칙적으로 0 % CPU 사용량과 1 % CPU 사용량의 차이는 엄청납니다. 그러나 1 %와 100 % 사이의 차이도 엄청납니다. 이 시스템은 CPU의 다른 부분 (전체 코어 포함)을 사용량에 따라 켜고 끄며, 수십 밀리 초 동안 주기적으로 0으로 떨어지면 배터리 수명을 획기적으로 향상시킬 수 있습니다 이것이 최근 버전의 iOS가 타이머 허용 오차를 지정할 수있게 해주기 때문에 일괄 처리가 가능하고 저전력 모드로 되돌아 갈 수 있습니다.

사용자가 실제로 앱과 상호 작용하는 동안 CPU가 0 일 것으로 예상해서는 안됩니다. 사용자에게 분명히 응답하면 작업을 수행 할 것입니다. 과도한 장소를 찾기 위해 Instruments에서 에너지 사용량을 조사해야하지만 사용자가 스크롤하는 동안 CPU가 "일을 수행"할 것으로 기대합니다 (어떻게 할 수 있습니까?) 일시 중지를 인위적으로 삽입하거나 CPU가 잠자기 상태가되도록하는 것. 일반적으로 CPU 사용을 빨리 완료 한 다음 아무 것도하지 않으면 CPU를 완전히 사용하는 것이 가장 좋습니다. 즉, 방대한 다운로드 (예로서)를 가능한 한 빨리 파싱하고 100 % CPU를 사용하는 것이 퍼져 나가는 것보다 5 배의 CPU를 20 % 사용하는 것이 훨씬 낫습니다.

CPU를 사용해야합니다. 당신은 단지 낭비하고 싶지 않습니다.