Контроль использования CPU

Многочисленные элементы портативного компьютера расходуют энергию: экран, GPU, сетевые службы, хранение, память и CPU. Путем сокращения использования приложения этих ресурсов можно расширить время работы от батареи пользователей и улучшить системную скорость отклика и производительность.

Для обращения решений, предлагаемых в остальной части этого руководства, сначала определите, сколько CPU использует приложение. Эта глава представляет различные инструменты для того, чтобы сделать просто это. В остающихся главах Вы изучите, как сократить потребляемую мощность Вашего приложения.

Рассмотрение энергетического влияния

В течение процесса разработки проверьте, что Ваш код эффективен путем тестирования и перетестирования его производительности. В XCode, открытом навигатор отладки и выбор энергетический прибор Влияния. Это выводит на экран отчет текущего энергетического влияния Вашего приложения и гистограмму его недавнего влияния (рисунок 1-1).

  Энергетический прибор Влияния рисунка 1-1, показывающий очень высокоэнергетическое влияние

Когда пользователи взаимодействуют с Вашим приложением, оно должно оказать низкоэнергетическое влияние. Когда пользователи не взаимодействуют с Вашим приложением, оно должно оказать нулевое энергетическое влияние.

Любые исключения должны находиться под контролем пользователя. Если пользователь инициирует большой рендеринг iMovie, пакетное задание Automator, преобразование Компрессора, он или компиляция XCode, пользователь не должен быть удивлен, использует ли задание питание. Важный момент должен устранить неожиданности.

Запланируйте свою работу соответственно. Это применяется ко всем компонентам на всех платформах, особенно CPU на компьютерах Mac и радио на устройствах на iOS. Ваше приложение будет расходовать меньше энергии путем соблюдения пяти ключевых правил:

Определение, сколько CPU использование приложения

Из всех использующих питание систем, которые имеет портативный компьютер, CPU имеет безусловно самый большой потенциал для сбережений. Фактически, Ваше приложение может увеличиться или уменьшиться, питание привлекают батарею существенно, в зависимости от того, какой процент CPU это использует.

Если пользователь запускает Ваше приложение в неактивной системе, и Ваше приложение использует 1 процент CPU, Ваше приложение внезапно увеличивается, питание привлекают батарею на 10 процентов. Если Ваше приложение использует 10 процентов CPU, это рисует дважды питание неактивной системы. При использовании 100 процентов CPU Ваше приложение рисует десять раз питание неактивной системы.

При разработке и тестировании приложения, у Вас есть три инструмента, которые могут помочь Вам определить, сколько CPU использует Ваше приложение: энергетическая область в утилите Activity Monitor, прибор CPU в XCode отлаживает навигатора и инструмент Профилировщика Времени в утилите Instruments.

Монитор действия. Для наблюдения сколько из CPU использование приложения запустите его с выполнением утилиты Activity Monitor. Нажмите энергетическую кнопку в Мониторе Действия и просмотрите состояние своего приложения в столбце CPU %, как показано на рисунке 1-2. (Если столбец CPU % не появляется, выбирает View> Column> % CPU.), Когда Ваше приложение не активно, число в этом столбце 0.0.

Рисунок 1-2  , Распознающий высокое использование CPU в Мониторе Действия

Навигатор XCode. При создании и выполнении приложения в XCode, откройтесь, навигатор отладки (выберите View> Navigators> Show Debug Navigator). Выберите прибор CPU. Навигатор отладки выводит на экран прибор иглы текущего использования CPU Вашего приложения и график его недавнего использования, как показано на рисунке 1-3.

Рисунок 1-3  , Распознающий высокое использование CPU в приборе CPU

Профилировщик времени. Для выполнения более глубокого анализа производительности приложения нажмите кнопку «Profile in Instruments». Инструментальное приложение запускает и выполняет инструмент Профилировщика Времени. Этот инструмент получает информацию трассировки стека в предписанных интервалах при отображении временной шкалы процента используемого CPU. Посмотрите рисунок 1-4.

Рисунок 1-4  Анализируя использование CPU с инструментом Профилировщика Времени

Инструмент вершины UNIX. Инструмент командной строки UNIX top также сообщает информацию использования CPU. Это может быть полезно, если Вы уже работаете в режиме командной строки или если Вы создаете контролирующие сценарии.

$ top -pid 68041
PID    COMMAND      %CPU
68041  Adventure    18.1

Сокращение использования CPU

Если какой-либо из вышеупомянутых инструментов указывает, что Ваше приложение делает злоупотребление CPU, особенно когда Вы ожидаете, что Ваше приложение будет неактивно, идентифицирует и фиксирует причину. В частности когда Ваше приложение неактивно, оно не должно предъявлять требования к CPU.

Обратитесь к остающимся главам в этом документе: