Fermer l'annonce

Déjà au début de l'année, les représentants d'Apple ils prétendaient, que le nouvel iOS 12 se concentrera principalement sur l'optimisation et qu'il faudra attendre des nouvelles plus fondamentales jusqu'à l'année prochaine. La même chose a été dite lors de la keynote de lundi, lors de la section sur iOS 12. Oui, certaines nouveautés apparaîtront effectivement dans la prochaine itération d'iOS, mais le rôle principal est joué par l'optimisation, qui plaira particulièrement aux propriétaires de machines plus anciennes ( sur la façon dont iOS 12 a donné vie à mon Vous pourrez déjà lire l'iPad Air de 1ère génération ce week-end). Hier, dans le cadre du programme WWDC, une conférence a eu lieu où il a été expliqué plus en détail ce qu'Apple a fait pour rendre le nouveau système sensiblement plus rapide.

Si ce sujet vous intéresse vraiment et que vous souhaitez savoir comment fonctionnent certains éléments d'iOS dans la pratique, je vous recommande de regarder l'enregistrement de la conférence. Il dure environ 40 minutes et est disponible sur le site officiel d'Apple sous le titre Session 202 : Quoi de neuf dans Cocoa Touch. Si vous ne voulez pas perdre trois quarts d'heure à regarder l'enregistrement de la conférence, vous pouvez lire une transcription plus concise ici, cependant, est quelque peu technique. Pour le reste d’entre vous, je vais essayer un résumé simplifié ci-dessous.

Découvrez les images du dévoilement d'iOS 12 :

Avec iOS 12, Apple a décidé de se concentrer sur l'optimisation, car de nombreux utilisateurs se plaignaient du débogage (notamment en relation avec iOS 11). La grande majorité des réactions négatives concernaient une sorte de « lenteur », de « blocage » et de « manque de fluidité » du système et de ses animations. Les programmeurs d'Apple se sont donc penchés sur les bases et ont surmonté tout le système d'animation d'iOS. Cet effort consistait principalement en trois ajustements majeurs qui permettent à iOS 12 de fonctionner comme il le fait. Les programmeurs ont réussi à découvrir des failles présentes dans iOS depuis iOS 7.

1. Préparation des données

Le premier changement est l’optimisation de ce que l’on appelle l’API Cell Pre-fetch, qui s’occupe simplement d’une sorte de préparation des données avant que le système n’en ait réellement besoin. Qu'il s'agisse d'images, d'animations ou d'autres données, le système devait pré-lire les fichiers nécessaires en mémoire avec cette API afin qu'ils soient disponibles lors de leur utilisation et qu'il n'y ait ainsi pas de sauts dans la charge du processeur, ce qui entraînerait les problèmes de fluidité évoqués ci-dessus. Comme il s’est avéré lors d’un audit approfondi de cet algorithme, celui-ci ne fonctionnait pas tout à fait correctement.

Dans certains cas, il a préparé les données à l’avance, dans d’autres non. Dans d'autres cas, le système chargeait les données alors qu'elles étaient déjà préparées dans le cache de cette API, et parfois une sorte de « double chargement » se produisait. Tout cela a provoqué des baisses de FPS lors des animations, des découpages et d'autres incohérences dans le fonctionnement du système.

2. Performances instantanées

Le deuxième changement est la modification de la gestion de l'énergie des unités de calcul de l'appareil, qu'il s'agisse du CPU ou du GPU. Dans les versions antérieures du système, il fallait beaucoup plus de temps au processeur pour remarquer une demande d'activité accrue et ainsi augmenter ses fréquences de fonctionnement. De plus, cette accélération/décélération du processeur se produisait progressivement, donc dans de nombreux cas, il arrivait que le système ait besoin de puissance pour certaines tâches, mais celle-ci n'était pas immédiatement disponible, et il y avait à nouveau des baisses dans les animations FPS, etc. iOS 12, car c'est ici que la courbe de performances des processeurs a été ajustée de manière beaucoup plus agressive, et l'augmentation/diminution progressive des fréquences est désormais immédiate. La performance doit donc être disponible aux moments où elle est nécessaire.

3. Mise en page automatique plus parfaite

Le troisième changement concerne l'interface introduite par Apple dans iOS 8. Il s'agit du framework dit Auto-layout, qui est entré dans iOS au moment où Apple a commencé à augmenter la taille des écrans de son iPhone. Le framework garantissait que l'apparence de l'interface utilisateur était correcte quels que soient le type et la taille de l'écran sur lequel les données étaient restituées. C'est une sorte de béquille qui aide les développeurs à optimiser leurs applications (mais pas seulement, ce framework fait partie intégrante du système iOS en tant que tel et s'occupe de l'affichage correct de toutes les parties de l'interface utilisateur) pour plusieurs tailles d'affichage. De plus, l’ensemble de ce système est largement automatisé. Après un examen détaillé, il s'est avéré que son fonctionnement est assez exigeant en ressources système et que les impacts les plus importants sur les performances sont apparus dans iOS 11. Dans iOS 12, l'outil susmentionné a fait l'objet d'une refonte et d'une optimisation importantes, et dans sa forme actuelle, son L'impact sur le fonctionnement du système est considérablement moindre, ce qui libère largement des ressources dans le CPU/GPU pour les besoins d'autres applications et outils.

Comme vous pouvez le constater, Apple a vraiment poussé les processus d'optimisation depuis le sommet et cela se voit vraiment dans le produit final. Si vous possédez des iPhones ou des iPads de l’année dernière, ne vous attendez pas à trop de changements. Mais si vous possédez un appareil vieux de deux, trois ou quatre ans, le changement sera certainement plus que perceptible. Même si iOS 12 en est actuellement à ses débuts, il fonctionne déjà bien mieux que n'importe quelle version d'iOS 1 sur mon iPad Air de 11ère génération.

.