Я постоянно слышу вопрос: «Мой iPhone замедлился или это иллюзия?». Отвечаю методично и без магии.

производительность

Точка отсчёта

Для начала фиксирую бенчмарк Geekbench. Одним прогоном не ограничиваюсь: запускаю пять серий, отсеиваю выбросы, усредняю. Такая выборка показывает IPC (Instructions per Cycle) процессора и пиковый Metal-балл графики.

Логи вместо предположений

Дальше перехожу к Settings → Privacy & Security → Analytics & Improvements. Файлы JetsamEvent раскрывают моменты, когда ядро выгружало приложения при дефиците RAM. Если число событий превышает две-три записи в сутки, iPhone уже линкуется к лимиту ОЗУ. Файл ThermalState фиксирует переходы между уровнями 0–3, уровень 3 говорит о жёстком троттлинге.

Стресс на практике

Синтетика без жаркого теста — половина картины. Использую GFXBench «Manhattan 3.1 — Unlimited» в цикле 20 минут. Термический датчик NTC на плате (данные читает программа «Device Monitoring Studio») показывает подъём до 42 °C — порог, где система сбрасывает частоту. Сравниваю первые пять и последние пять кадров в секунду: падение свыше 25 % сигнализирует о тепловой просадке.

Полевые замеры

Следующий этап — реальный сценарий. Я записываю 4K60 ProRes 10-bit в течение пятнадцати минут. Инструмент Xcode 👉 Menu Product → Profiling открывает Time Profiler: метрика cpu_usage в стеке кода CameraUI.bundle. Если поток camera Motion Controller держится дольше 16 мс, устройство роняет кадры.

Экзотика для гурманов

Иногда обращаюсь к редкой метрике INT (Equivalent Effective Memory Throughput), выводимой через perfmetricsd. Значение ниже 12 ГБ/с объясняет, почему тяжёлые игры вместо текстур загружают серый placeholder.

Автономность как зеркало скорости

Высокий расход тока часто маскирует неэффективный код. CoconutBattery на Mac отображает фактический amperage, скок вверх во время idle — индикатор лишних wake-lock ов.

1. Средний Geekbench не отклоняется от базы более чем на 7 %.

2. В JetsamEvent менее трёх выгрузок в сутки.

3. ThermalState держится на уровне 0–1 при GFXBench 20 мин.

4. Time Profiler не фиксирует длительных блокировок UI-потока.

5. EEMT ≥ 12 ГБ/с.

6. Показатель тока в idle — ниже 80 мА.

Совпадение со списком гарантирует, что iPhone остаётся в тонусе без лишней суеты. Если один из пунктов краснеет, приступаю к точечной диагностике, начиная с очистки хранилища и обновления прошивки.