Как Apple добилась плавной анимации в iOS 12

Пользователи, установившие iOS 12 на свое устройство, могли заметить возросшую производительность новой операционной системы. Инженеры Apple не только увеличили скорость запуска приложений, но и смогли добиться плавной работы интерфейса. Как это им удалось, было рассказано на одной из лекций в рамках WWDC 2018.

Как Apple добилась плавной анимации в iOS 12. Фото.

В первую очередь, разработчики тщательно изучили предустановленные приложения, где могли наблюдаться падения кадров при перелистывании списков. Исходя из этого, было внесено несколько изменений. Была улучшена работа алгоритма Cell Prefetch, который введен еще в iOS 10 и был призван избавить интерфейс от падения кадров путем предварительной загрузки контента в фоновом режиме. Несмотря на то, что изначально этот API справлялся с своей задачей неплохо, падания кадров все равно могли наблюдаться при одновременном выполнении двух задач процессором.

Как Apple добилась плавной анимации в iOS 12. Фото.

Apple смогла решить эту проблему просто: теперь механизм отрисовки интерфейса обладает наибольшим приоритетом. Добиться скачка в производительности не удалось бы без грамотного управления процессором. Увеличение до максимальной тактовой частоты теперь происходит мгновенно, а не постепенно, как это было раньше. При этом так же быстро происходит и сброс частот, что положительно повлияло на энергопотребление.
Как Apple добилась плавной анимации в iOS 12. Фото.

Работа с RAM была значительно усовершенствована, благодаря новым технологиям анализа контента, с которым взаимодействует пользователь. Разработчики также добавили алгоритм ABS, который потенциально снижает потребление оперативной памяти приложением.
Как Apple добилась плавной анимации в iOS 12. Фото.

Все эти изменения позволили добиться значительного прироста в производительности, так заметного на старых устройствах. Напомним, что iOS 12 будет доступна пользователям осенью этого года.

iOS 12Обновление iOS и устройств AppleОперационные системы AppleРазработка приложений для iOS