-
Labo de groupe Performances et énergie
Plongez au cœur de la WWDC26 en compagnie des équipes d'ingénierie et de design Apple. Rejoignez-nous en ligne pour poser des questions, obtenir des conseils et suivre les discussions sur les principales annonces de la semaine en matière d'énergie et de performances. Séance présentée en anglais.
Chapitres
- 0:00:00 - Introduction
- 0:06:09 - En tant que débutant, quels sont les éléments qui impactent le plus la consommation d’énergie et les performances des apps dans SwiftUI ? Et surtout, comment créer des apps simples qui préservent la batterie et restent fluides ?
- 0:12:09 - Quelle est la plus grosse erreur en matière de consommation d’énergie que vous observez dans de nombreuses apps et que la plupart des développeurs commettent sans s’en rendre compte ?
- 0:15:18 - Quelle est la meilleure documentation pour Instruments ? Existe-t-il des guides écrits ?
- 0:17:45 - Notre app affiche les écrans UIKit/SwiftUI sans beaucoup de travail en arrière-plan, mais Xcode signale une utilisation « élevée » de la batterie. Quelles sont les bonnes pratiques pour comprendre pourquoi ?
- 0:20:11 - Un objet de thème est injecté via @EnvironmentObject et lu dans chaque composant atomique dans de nombreux niveaux d’imbrication et des centaines de composants. À partir de quelle échelle cela devient-il problématique et y a-t-il une meilleure façon de procéder ?
- 0:21:26 - Comment chargeriez-vous de grands ensembles de données (50 000 à 500 000 enregistrements) dans des tables SwiftUI, et comment enregistrer/analyser les performances et les régressions avec MetricKit ?
- 0:25:26 - Comment iOS 27 hiérarchise-t-il les tâches en arrière-plan lorsque le système est soumis à de lourdes charges de travail Apple Intelligence ?
- 0:28:15 - Pour éviter de bloquer le thread principal, j’exécute des tâches coûteuses sur des threads d’arrière-plan, mais lors du lancement, cela provoque de nombreux sauts de thread. Quel est le coût du passage fréquent entre threads par rapport au blocage, et existe-t-il une meilleure approche ?
- 0:35:48 - Outre les tâches en arrière-plan, quel est le facteur d’usure de la batterie le plus courant dans SwiftUI ? Quel est l’impact de la surinvalidation des vues sur l’épuisement de la batterie, et quel est le meilleur workflow dans Instruments pour la détecter ?
- 0:37:40 - Existe-t-il des améliorations de performances pour les listes et les tableaux très volumineux dans SwiftUI sur macOS 27, et quelles sont les bonnes pratiques pour gérer des dizaines ou des centaines de milliers d’éléments ?
- 0:39:52 - J’utilise AnyView pour l’effacement de type à plusieurs endroits. Quel est son coût en pratique, et existe-t-il un seuil au-delà duquel cela devient un problème ? Ou est-ce que chercher à l’éviter relève de l’optimisation prématurée ?
- 0:42:01 - MetricKit, State Reporting et Crash Report Extensions sont les nouveautés de cette année. Y a-t-il d’autres outils phares pour les développeurs qui ne figurent pas sur la page des mises à jour et qui méritent qu’on s’y intéresse ?
- 0:46:50 - Je veux aller plus loin dans l’analyse des performances de Swift. Au-delà des séances de la WWDC et des propositions d’évolution, quel est le parcours (bases de code, fonctionnement interne du compilateur, livres, benchmarks) pour développer une réelle expertise ?
- 0:49:20 - Après la présentation sur les performances, j’ai évité d’utiliser des fermetures marquées @escaping comme paramètres, ce qui a amélioré les performances, mais me limite. Parfois, passer du contenu avec @escaping (ou via un bloc @ViewBuilder) s’avère indispensable. Des conseils ?
- 0:50:29 - Lorsque je gère des données dynamiques ou des ressources volumineuses dans SwiftUI, quelles sont les meilleures pratiques pour éviter que les mises à jour de vues provoquent des ralentissements ou des pics d’utilisation du processeur sur les appareils plus anciens ?
- 0:55:11 - Notre app repose sur ARKit, Metal et des calculs intensifs, et elle est utilisée en extérieur sous la lumière directe du soleil, ce qui entraîne des états thermiques élevés. Comment gérer la pression thermique et préserver une bonne expérience ?
- 0:59:00 - L’utilisation de nombreuses propriétés @Environment dans une app SwiftUI volumineuse a-t-elle un impact sur les performances, par exemple, lorsque de nombreuses valeurs sont injectées dans une hiérarchie de vues profonde ?
Ressources
-
Rechercher dans cette vidéo…
-