Перейти к содержимому

Как посмотреть загруженность процессора на iphone

  • автор:

Как проверить производительность Айфона

Блогеры привыкли измерять автономность смартфонов собственными методами, запуская разные приложения — этот способ наиболее близок к реальному повседневному использованию. Но узнать производительность Айфона намного проще — достаточно запустить бенчмарк, который запустит стресс-тест системы и выдаст результат в виде набранных баллов. Одним из самых популярных по праву считается приложение AnTuTu, но для того, чтобы убедиться в его точности, параллельно Айфон тестируют в Geekbench. На днях разработчики как раз выпустили новую версию этого бенчмарка, который стал еще точнее. Рассказываем, как работает Geekbench 6 и как теперь тестировать Айфон на производительность.

Как проверить производительность Айфона. Один из популярнейших бенчмарков в мире обновили. Вот как он работает. Фото.

Один из популярнейших бенчмарков в мире обновили. Вот как он работает

На днях было представлен новый Geekbench 6: новая версия бенчмарка для измерения производительности смартфонов стала еще точнее. Джон Пул, соучредитель Primate Labs, которая и занимается разработкой утилиты, объяснил выход новой версии тем, что за последние годы количество ядер увеличилось, камеры стали лучше, а нейросети стали применяться в большем числе приложений.

Что такое Geekbench

В Geekbench 6 были добавлены новые методы тестирования смартфонов, включая размытие фона в видеозвонках, обработка и преобразование текста, а также удаление нежелательных объектов со снимков. Новые функции Geekbench 6 аналогичны предыдущим, но среди сценариев стало больше повседневных.

Что такое Geekbench. Обновленный бенчмарк-тест должен стать еще точнее и объективнее. Фото.

Обновленный бенчмарк-тест должен стать еще точнее и объективнее

То есть, если раньше основной целью было разогнать смартфон, измерить мощность процессора, то теперь бенчмарк анализирует производительность при обработке больших PDF-файлов, скорость открытия веб-страниц и обработки фотографий с высоким разрешением. Длительность тестов в Geekbench увеличилась: теперь они занимают больше времени, так как это важно для изучения нагрузки в течение длительного времени и обнаружения троттлинга.

Обновление Geekbench — первое за почти 4 года: последний апдейт выходил аж в 2019 году, поэтому теперь софт оптимизирован для работы со свежими чипами Apple, Qualcomm и Intel. Говорят, новый тест позволит лучше оценить возможности смартфона. А как на самом деле?

Как проверить мощность смартфона

Новое приложение Geekbench аналогично предыдущему: во всяком случае, оно имеет ровно тот же интерфейс и по-прежнему бесплатно для рядовых пользователей. Если вы попробуете протестировать свой iPhone в бенчмарке, то увидите совершенно иные результаты. Вот как это сделать.

    и скачайте Geekbench 6.
  • После установки зайдите в приложение и нажмите Run CPU Test
  • Подождите, пока iPhone протестируется.

Как проверить мощность смартфона. Вот так выглядят результаты iPhone 13 в новом Geekbench. Фото.

Вот так выглядят результаты iPhone 13 в новом Geekbench

Я проверил свой iPhone 13 и заметил серьезные изменения: теперь тестирование в Geekbench длится чуть дольше примерно на полторы минуты. Все из-за того, что нагрузки стали интенсивнее, поэтому и времени уходит больше. Кроме того, если в Geekbench 5 смартфон набирал около 1700 баллов в одноядерном тестировании, то теперь результат возрос аж до 2040 баллов. А вот в многоядерном тестировании оценка слегка упала: если в старой версии приложения было 4500 баллов, то теперь — чуть выше 4200 очков.

Как проверить мощность смартфона. Результаты iPad Air 4 серьезно изменились после тестирования в обновленном бенчмарке. Фото.

Результаты iPad Air 4 серьезно изменились после тестирования в обновленном бенчмарке

С iPad Air 2020 произошло все немного иначе: результаты планшета выросли до 2000 в одноядерном тестировании и 5000 — в многоядерном. По сравнению с прошлой версией Geekbench, прирост составил около 30%. Дело в том, что при тестах в многопоточном режиме приложение теперь учитывает одновременную работу всех ядер, а не их поочередную нагрузку. Это связано с тем, что в современных процессорах совместно используются производительные и эффективные ядра.

Сразу скажу, что если результаты в Geekbench 6 уменьшились не говорит о том, что iPhone стал работать медленнее: критериев тестирования стало больше, а еще изменилась методология подведения итогов. Например, если раньше бенчмарк суммировал производительность всех ядер процессора, то теперь он оценивает, как могли бы они могли работать при реальных нагрузках. Те, кто не понаслышке знаком с Geekbench, наверняка заметили, что в отчете стало больше данных. Появились следующие критерии.

  • Рендеринг PDF-документов.
  • Фоновое размытие на фотографиях.
  • Точность обнаружения нежелательных объектов на снимке.
  • Улучшено тестирование в оценке трассировки лучей в играх, обнаружения горизонта и навигации.

А вот в тестах GPU все не так просто: дело в том, что на самом деле они не измеряют производительность 3D-графики на устройстве. Вместо этого утилита проверяет видеоядра для обработки вычислительных задач, например, для обнаружения лиц на фотографиях. Так что, если один смартфон быстро запускает игры, но имеет невысокую оценку графики в Geekbench, вам всего лишь нужно сменить синтетический тест, использовав какой-нибудь AnTuTu.

Как узнать что грузит айфон?

Чтобы просмотреть использованный объем трафика в сотовой сети передачи данных, перейдите в меню «Настройки» > «Сотовые данные» или «Настройки» > «Мобильные данные». На устройстве iPad это меню называется «Настройки» > «Сотовые данные».Feb 2, 2022

Это можно также узнать в меню «Настройки» или программе iTunes на устройстве либо в программе Finder на компьютере. Если на устройстве осталось мало свободного места, система автоматически освобождает его при установке программ, обновлении iOS или iPadOS, загрузке музыки, записи видео и т. д.

Если не загружается iPhone, горит яблоко, причиной этого может быть несовместимость твиков, установленных из Cydia. Чтобы проверить гипотезу, попробуйте запустить смартфон без твиков.

Программы: установленные программы и их содержимое, содержимое папки «На iPhone», «На iPad» или «На моем iPod touch» в программе «Файлы», а также загрузки Safari. Фотографии: фотографии и видеозаписи, которые хранятся в программе «Фото».

Как узнать что загружает iPhone?

Чтобы просмотреть использованный объем трафика в сотовой сети передачи данных, перейдите в меню «Настройки» > «Сотовые данные» или «Настройки» > «Мобильные данные». На устройстве iPad это меню называется «Настройки» > «Сотовые данные».

Что нагружает айфон?

Подсветка экрана, модуль связи и работающий процессор являются крупнейшими потребителями энергии вашего iPhone или iPad. Вот почему Apple показывает вам активные — когда экран включен — и фоновые модули и процессы, работающие, когда экран выключен.

Как посмотреть нагрузку айфона?

В iOS можно просмотреть состояние аккумулятора iPhone и узнать, следует ли его заменить. Перейдите в меню «Настройки» > «Аккумулятор» и выберите «Состояние аккумулятора». Информация о состоянии аккумулятора доступна только на iPhone.

Какие приложения жрут батарею айфон?

Наверное, у всех пользователей iOS есть неписанный набор приложений, которые мы игнорируем и не устанавливаем ни при каких обстоятельствах. Приложения, которые жрут батарейкуInstagram.Facebook.TikTok.WhatsApp.ВКонтактеTwitter.25 мар. 2021 г.

Почему Айфон начал тормозить?

«Айфон» может тормозить из-за забитой памяти. Что делать: каким бы производительным не был телефон, ему необходимо 15-20% свободной памяти, чтобы работать быстро и плавно. Вы установили новую iOS. Если iPhone долго думает, нагревается и быстро разряжается после установки новой прошивки ― это нормально.

Как узнать какая программа жрет батарею?

Например, в Android 10 для этого достаточно перейти в «Настройки / обслуживание устройства / потребление заряда аккумулятора» (��). Далее перед вами предстанет список из наиболее «прожорливых приложений».

Какие приложения садят батарею на айфоне?

Как определить, какими приложениями не нужно пользоваться, если Вы хотите максимально сохранить заряд iPhone и iPadЗапустите стандартное приложение Настройки и перейдите в раздел Аккумулятор.Пролистайте раздел вниз и нажмите на кнопку-ссылку Аккумулятор в приложениях.

Состояние Системы Просто‪й‬ 4+

Состояние Системы Простой является самым мощным инструментом мониторинга в режиме реального времени для вашей работы iPhone и iPad.
Вы можете посмотреть текущее использование в качестве памяти, процессора, сети, батареи и диска одновременно. и проверить эффективность изменения устройства из графиков.
Кроме того, подробная информация о сетевом подключении и операционной системы указывает на это, и это возможно, чтобы сохранить его и распечатать.
пользователь iPhone может видеть широкий вид экрана, поскольку она соответствует горизонтальной экране iPhone. Кроме того, iPad 2 Air, iPad mini 4 и iPad Pro может "Split View" и "скользят".

GENERAL: риал Контроль времени памяти, процессора, батареи, использование дискового пространства и подключение к сети
— Memory : Плата пространство отношение проводной, активный, использование неактивных и свободной памяти
— CPU: Использование и состояние ожидания
— Network: Wi-Fi, 3G или подключение к LTE состояние, отправленные и полученные данные с момента загрузки системы
— Battery: уровень зарядки и состояние (Полный, Unplugged или зарядки)
— Disk: Используется, свободный и общая площадь
— Information: Информация Краткое устройство

OVERVIEW : графа
— Линейная диаграмма памяти, процессора, батареи и использование дискового пространства

OVERVIEW DETAILS : CPU, батареи и т.д., список
— CPU Status : загрузка процессора
— Battery Status : батарея заряжается и состояния батареи
— Disk usage : свободного места на диске и общее дисковое пространство,
— System uptime : время загрузки системы и бесперебойной работы
— Connection : по умолчанию адрес и отдыха DNS адрес сервера
— WiFi : Подключение IP-адрес, маску подсети, SSID, BSSID, полученные и отправлены данные с момента загрузки системы
— Cellular : Подключение IP-адрес, тип сети (LTE / 3G), название оператора, код страны, MCC / MNC, поддержка ВОП, полученные и отправлены данные с момента загрузки системы

MEMORY : графа
— Stacked линейный график wired, active, inactive, other использование памяти

MEMORY DETAILS : память ПОДРОБНОСТИ
— Memory Usage : wired, active, inactive, other, free,, общий объем памяти и использование размер страницы
— Page IN/OUT : страница входы и выходы страницы
— Page fault : неисправности и ошибки COW
— Page lookup : поиски и хиты
— Page purge : purgeable граф и чисток
— Other Page : нулевой Заполненные, возобновляют, спекулятивная чтения

CPU : графа
— Stacked линейный график загрузки процессора

NETWORK : графа
— Линейный график Wi-Fi, полученных и отправленных, сотовой связи, полученных и отправленных данных

CONNECTIONS (iOS8,9)
— Соединения Локальный IP, удаленный IP ПРД и ПРМ список

BATTERY : графа
— Stacked линейный график батареи заряжен уровня
— Изменение масштаба времени с помощью кнопки или двойное нажатие
— Скроллинг данных за прошлые периоды

DISK : графа
— Stacked линейный график дискового пространства используется

INFORMATION
— Операционная система: система, системный номер сборки, ядра, загрузка системы, время работы и т.д.
— Информация об устройстве: имя устройства, идентификатор, тип и т.д.
— Информация об CPU: модель процессора, модель GPU, частота процессора и т.д.
— Аппаратные характеристики: разрешение экрана, плотность пикселей, и т.д.

Все функции графа
— AirPrint, сохранить изображение, десантный, экспорт электронной почты и многое другое
— Фоновый мониторинг (3 минуты)
— Отображение максимального значения или среднего значения

Опоры
Non сетчатка и дисплей Retina на iPhone, iPad.
iPhone 4 до 8 Plus, iPhone SE, iPhone X, iPad 2 для iPad Pro и iPad mini для iPad mini 4.
iPhone, iPad и вертикальный и горизонтальный экран.
При поддержке "Split View" и "Slide Over" на iPad.

MetricKit. Анализ производительности iOS приложений

image

Мы продолжаем знакомиться с новым материалом от Apple, представленным на WWDC. На этот раз рассмотрим MetricKit, это абсолютно новый фреймворк, который служит инструментом для мониторинга производительности приложений.

Все знают, что измерение производительности приложения во время разработки — это просто. Xcode показывает количество используемой оперативной памяти и загруженность процессора, вы можете подключиться с помощью Instruments к симулятору или тестируемому устройству и даже написать собственные инструменты (более подробно об этом смотрите наши статьи о пользовательских пакетах инструментов: часть 1/часть 2). Только лишь понимание важности настройки производительности не позволяет измерить практически все, что выполняет приложение. Но все стает более сложным, когда мы говорим о AppStore, если разрабатываемое приложение предназначается для реальных пользователей. Независимо от того, насколько тщательно вы тестируете свое приложение, в реальных условиях всегда появится куча сюрпризов, которые повлияют на производительность и пользовательский опыт. Конечно, существует множество инструментов для сбора различных параметров, но большинство из них ограничены iOS SDK, а также влиянием фактического мониторинга на поведение приложений.

В этом году Apple решила заполнить этот пробел и предоставила разработчикам инструмент, который помогает им собирать и анализировать показатели производительности приложений в реальной среде. Они анонсировали MetricKit (фреймворк, который предоставляет доступ к параметрам, которые предоставляет OS) отдельной вкладки в органайзере Xcode 11, где можно найти параметры приложений. Сделаем паузу в MetricKit, потому что отображение параметров в XCode будет работать только с приложениями, которые уже опубликованные в AppStore.

image

MXMetricManager

Архитектура фреймворка довольно проста и понятна. Центральную часть занимает класс MXMetricManager, представляющий собой одно-элементную структуру, которая предоставляет разработчику большой набор APIs фреймворка.

В общем, рабочий процесс состоит из 3-х основных этапов:

  1. Вы инициализируете MXMetricMnager и назначаете для него наблюдателя.
  2. При желании вы можете реализовать собственные метрики в своем приложении, используя API Signpost
  3. И, наконец, теперь мы имеем дело с полученными данными в методе didReceivePayloads, т.е. отправляем их в свой бэкэнд для дальнейшего анализа.

Типы метрик довольно хорошо документированы Apple, поэтому не будем останавливаться на этом слишком долго. Тем не менее, следует остановиться, чтобы заметить одну интересную вещь — MXMetric предоставляет открытый API для сериализации его в NSDictionary или JSON, что, с моей точки зрения, немного необычно.

Внутренние компоненты MetricKit.

Снаружи MetricKit выглядит довольно просто. Но всегда интересно увидеть, как все работает изнутри. Погружение во что-то более глубокое является всегда интригой, если перед вами стоит конкретная задача. Поэтому я решил, что хочу передать параметры с метками MetricKit, а затем заставить их предоставлять мне обновленные метрики в любое время. Конечно, вы можете использовать `Debug -> Simulate MetricKit Payloads` в Xcode, но id не позволяет отображать собственные данные. Правда, это не очень полезная команда, но она дает вам направление в ваших исследованиях, и это выглядит весьма забавно 😉

Чтобы начать выполнение задачи, нам, очевидно, необходим сам MetricKit. Можно подумать, что получить бинарный файл для фреймворка легко, потому что Xcode показывает его в списке фреймворков, как только вы добавите его через диалог «связать бинарный файл с библиотеками». Это весьма оптимистичная мысль. Потому что если вы откроете MetricKit.framework, вы увидите файл MetricKit.tbd. Его размер всего 4кб. Очевидно, это не то, что мы ищем.

Так что же на самом деле здесь происходит?

TBD расшифровывается как «text-based dylib stub» и фактически является файлом YAML с описанием dylib, экспортирующим символы и путем к двоичному файлу dylib. Связывание с файлами tbd уменьшает размер двоичного файла. Позже, во время выполнения, настоящий бинарный файл dylib будет загружен из OS по пути, указанному в файле tbd. Вот как выглядит файл, когда вы открываете его в Xcode:

image

Используя путь из файла tbd, можно легко получить двоичный файл MetricKit для дальнейшего исследования, но существует еще более простой метод.

Наш двоичный файл приложения содержит путь к каждой динамически связанной библиотеке в разделе заголовка Mach-O. Эту информацию легко получить с помощью инструмента, используя флаг -l.

Вот вывод для тестового проекта, который я создал:

Можно увидеть тот же путь, который мы видели ранее в файле tbd. Имея бинарный файл фреймворка, можно взглянуть на внутренние элементы. Для этого я обычно использую Hopper Disassemble. Он простой в использовании, но очень мощный инструмент для внимательного исследования двоичных файлов.

Как только откроется бинарный файл MetricKit — перейдем к вкладке ‘Proc.’ и развернем список ’Tags’. Здесь можно увидеть все экспортированные символы. Выбрав один из них (например, MXMetricManager), увидим все его методы и, выбрав метод, увидим его содержимое в правой части:

image

При просмотре списка методов MXMetricManager [ https://gist.github.com/deszip/88a258ae21d33dc75d7cbac9569c6ec1 ] весьма легко заметить метод _checkAndDeliverMetricReports. Похоже, это то, что необходимо вызвать, чтобы заставить MetricKit доставлять обновления подписчикам.

К сожалению, попытка вызвать его не привела к вызову абонента, что, вероятно, означает то, что данные параметры не будут доставлены. Рассматривая реализацию метода, заметим несколько интересных вещей: он выполняет перебор содержимого каталога /Library/Caches/MetricKit/Reports.

Затем он пытается разархивировать экземпляр MXMetricPayload для каждого элемента на диске. И, наконец, он перебирает зарегистрированных подписчиков и вызывает метод didReceive со списком данных.

Проблема, вероятно, в том, что в /Library/Caches/MetricKit/Reports нет данных, но известно то, что нам необходимы некоторые заархивированные экземпляры MXMetricPayload. Итак, давайте создадим их и поместим на диск перед вызовом ‘_checkAndDeliverMetricReports’. Опять же, план состоит в том, чтобы создать экземпляр MXMetricPayload, затем создать и добавить в него любой тип MXMetric, а затем заархивировать экземпляр данных на диске. После всего вызвать метод ‘_checkAndDeliverMetricReports’, это должно привести к вызову нашего подписчика с stub в качестве аргумента.

Просматривая документы Apple по payload и метрикам, вы можете заметить, что у них нет общедоступных инициализаторов, и большинство свойств доступны только для чтения. Итак, каким же образом возможно создать экземпляр класса?

Снова вернемся к Hopper, чтобы посмотреть список методов MXMetricPayload:

image

Здесь видно его инициализаторы и методы для присваивания параметров. Вызывать закрытые методы легко, с помощью класса NSInvocation и метода ‘performSelector’ из-за динамической природы Objective-C.

В качестве примера мы создадим метрики для CPU и добавим их в payload. Используя данную ссылку, можно найти полный фрагмент кода: [ https://gist.github.com/deszip/a0cf877b07cc2877129e0aaef2fed1e4 ].

И в завершение архивируем все что мы создали и записываем данные в каталог /Library/Caches/MetricKit/Reports.

Теперь пришло время вызвать метод ‘_checkAndDeliverMetricReports‘, что в итоге должно привести к вызову абонента. На этот раз в качестве аргумента передаем данные с stubbed payload в качестве аргумента.

Откуда берутся метрики

Получение отчетов довольно просто реализовать посредством MetricKit, но вам, вероятно, интересно узнать, как отчеты появляются в каталоге app/Library. Вот как.

Копая внутри двоичного файла MetricKit, я заметил этот метод: ‘ _createXPCConnection’. Проверка его реализации проясняет ситуацию — он строит NSXPCConnection для обслуживания с именем com.apple.metrickit.xpc и двумя интерфейсами MXXPCServer и MXXPCClient для клиентской и серверной сторон. Если посмотреть на описание протокола:

image

Заключение

MetricKit — это уникальный и незаменимый инструмент, для заботы о производительности своего приложения в реальных условиях в продакшене.

К сожалению, в настоящее время невозможно взглянуть на пользовательский интерфейс ‘Metric’ в Xcode, за исключением того, что было показано во время демонстрации на сессии WWDC.

image

Он может быть бесценным инструментом для перехода пользовательского опыта на новый уровень за счет устранения проблем с производительностью в вашем коде.

Один недостаток, который я вижу сейчас в данном инструменте — это отсутствие подробностей для каждого типа: только разделение — это версия приложения, и вы не можете видеть какие-либо метрики для определенной группы устройств/версий OS/регионов и т.д.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *