120fps — une fréquence de 120 images par seconde disponible sur les écrans avec un taux de rafraîchissement de 120 Hz, où chaque image prend 8.3 ms. Selon Apple WWDC 2023 Session, ProMotion bascule automatiquement la fréquence de 24 à 120 Hz pour équilibrer fluidité et consommation d’énergie. 8.3 ms représente la moitié du budget standard, ce qui exige une optimisation sérieuse du rendu.
Points clés
120fps est le double de la fréquence d’images standard, où l’écran actualise l’image 120 fois par seconde. Chaque image a un budget de 8.33 ms — la moitié de celui de 60fps. Cela signifie que le GPU et le CPU doivent traiter les graphismes deux fois plus vite, et tous les algorithmes qui fonctionnent en 16.7 ms à 60fps ne tiennent à 120fps que s’ils sont deux fois plus efficaces.
Le premier appareil mobile avec écran 120 Hz fut le Razer Phone (2017) avec panneau IGZO de Sharp. Apple a introduit le 120 Hz dans l’iPad Pro (2017) sous le nom ProMotion, et dans les iPhones seulement en 2021 avec l’iPhone 13 Pro. Sur Android, le 120 Hz est devenu courant à partir de 2020 : Samsung Galaxy S20, OnePlus 8 Pro, Xiaomi Mi 10. Aujourd’hui, 90–120 Hz est la norme pour les appareils phares, et la technologie LTPO permet la commutation dynamique de fréquence.
La perception du 120fps par l’utilisateur diffère du 60fps moins par l’absence d’à-coups que par la sensation de réponse instantanée — le curseur, le défilement et les animations suivent le doigt avec une latence minimale. Cette sensation est souvent décrite comme un écran « liquide » ou « huileux ». Après avoir utilisé du 120 Hz, le retour au 60 Hz semble subjectivement lent, même en l’absence de chutes objectives d’images.
Un écran 120 Hz met physiquement à jour les pixels 120 fois par seconde, en envoyant un signal sur le bus MIPI DSI/DPI à double fréquence. Chaque pixel reçoit une nouvelle valeur de luminosité toutes les 8.3 ms. Pour les panneaux OLED, cela signifie que le temps d’émission de chaque sous-pixel est réduit, nécessitant un rétro-éclairage plus lumineux pour maintenir la même luminosité d’image.
LTPO (oxyde polycristallin basse température) est une technologie de fabrication d’écrans OLED combinant LTPS (commutation rapide) et IGZO (faible consommation statique). LTPO permet à l’écran de modifier dynamiquement son taux de rafraîchissement de 1 à 120 Hz sans coût énergétique supplémentaire. En mode Always-On Display, la fréquence descend à 1 Hz ; pendant le défilement, elle monte à 120 Hz. Cela permet une économie d’énergie pouvant atteindre 30% par rapport aux écrans fonctionnant constamment à 120 Hz.
Frame pacing — la régularité des intervalles entre les images, est le paramètre le plus important à 120fps. Alors qu’à 60fps une différence de 2–3 ms entre les images est imperceptible, à 120fps la même différence absolue représente 25% de la durée de l’image et est perçue comme un à-coup. Pour un 120fps fluide, chaque image doit tenir dans 8.3 ms ±1 ms. Des outils comme FrameRate dans Xcode Instruments montrent non seulement le FPS moyen mais aussi un histogramme des intervalles pour évaluer le frame pacing.
// iOS — détection d’écran 120 Hz via CADisplayLink
func checkDisplayRefreshRate() {
let link = CADisplayLink(target: self,
selector: #selector(step))
if let preferredRate = link?.preferredFrameRateRange {
print("Fréquence max : \("preferredRate.maximum) Hz")
}
}
ProMotion est la marque déposée d’Apple pour les écrans avec taux de rafraîchissement adaptatif jusqu’à 120 Hz. Introduit pour la première fois dans l’iPad Pro 10.5 (2017), il est ensuite apparu dans l’iPhone 13 Pro (2021) et le MacBook Pro (2021). ProMotion n’est pas simplement du 120 Hz — c’est une gestion intelligente de la fréquence : le système analyse le type de contenu et bascule la fréquence pour un équilibre optimal entre performances et consommation d’énergie.
ProMotion prend en charge quatre modes : 24 Hz pour le contenu statique et la vidéo 24fps, 30 Hz pour la vidéo 30fps, 60 Hz pour la navigation dans l’interface et 120 Hz pour le défilement et les jeux. Le basculement entre les modes se produit en une seule image (8.3 ms) et est imperceptible pour l’utilisateur. Les développeurs peuvent influencer la sélection de fréquence via preferredFrameRateRange dans CADisplayLink, mais la décision finale est prise par le système sur la base de l’analyse du contenu.
Apple fournit des API pour travailler avec ProMotion depuis iOS 15. CADisplayLink.preferredFrameRateRange permet de définir une plage de fréquence préférée. UIScene.ActivationConditions peut affecter la fréquence lors de la transition entre les scènes. Pour le rendu Metal, CAMetalLayer.displaySyncEnabled doit être true pour la synchronisation avec ProMotion. Si une application n’est pas optimisée pour 120fps, iOS la bascule automatiquement à 60 Hz, ce qui est visible dans Xcode dans la section GPU Report.
// iOS — demande de 120fps pour le mode jeu
let displayLink = CADisplayLink(
target: self,
selector: #selector(gameLoop)
)
if #available(iOS 15.0, *) {
displayLink?.preferredFrameRateRange =
CAFrameRateRange(minimum: 80,
maximum: 120,
preferred: 120)
}
displayLink?.add(to: .current,
forMode: .default)
L’optimisation pour 120fps ne consiste pas seulement à doubler la vitesse du code, mais à repenser l’architecture de rendu. Les opérations qui tenaient en 16.7 ms à 60fps doivent maintenant être terminées en 8.3 ms. Cela affecte toutes les étapes du pipeline : préparation CPU, rendu GPU et appels système.
À 120fps, le nombre de draw calls par image doit être la moitié de celui à 60fps pour maintenir la même charge GPU. Si 400 draw calls sont acceptables à 60fps, alors à 120fps pas plus de 200 ne sont autorisés. Utilisez des texture atlases, la fusion de maillages et l’instanciation GPU pour réduire les appels de dessin. Sur Metal, utilisez Indirect Command Buffers ; sur Vulkan, utilisez Secondary Command Buffers pour l’enregistrement parallèle de commandes.
Shaders — un autre facteur critique. Des shaders de pixels complexes avec de multiples échantillonnages de texture et opérations mathématiques peuvent facilement dépasser le budget de 8.3 ms. Utilisez des shaders à faible précision (half au lieu de float), réduisez le nombre d’instructions et d’échantillons de texture. Sur les GPU mobiles (Apple A17, Snapdragon 8 Gen 3), chaque échantillonnage de texture prend 2–4 cycles, et à 120fps cela peut devenir un goulot d’étranglement.
À 120fps, le thread principal doit préparer une image en 4–5 ms pour laisser du temps au rendu GPU. Toute opération synchrone sur le thread principal — lecture de base de données, analyse JSON, chargement d’images — crée des à-coups. Déplacez toutes les opérations lourdes vers des threads d’arrière-plan, utilisez des API asynchrones et des pools de threads. Sous iOS, DispatchQueue avec qualityOfService .userInteractive doit être réservé uniquement au code de rendu critique.
| Composant | Budget 120fps | Budget 60fps |
|---|---|---|
| CPU (thread principal) | 4 ms | 8 ms |
| Rendu GPU | 4 ms | 8 ms |
| Composition | 0.3 ms | 0.7 ms |
| Attente VSync | 0–2 ms | 0–5 ms |
Comparer 120fps et 60fps ne se résume pas à doubler la fluidité. La différence est perçue différemment selon le type de contenu. Pour le défilement et les animations d’interface, 120fps offre une interface subjectivement plus « réactive ». Pour les jeux, l’avantage du 120fps se manifeste par un flou de mouvement réduit et un suivi plus précis des objets rapides.
Consommation d’énergie — le principal compromis. 120fps consomme 30–50% plus d’énergie que 60fps à la même luminosité d’écran. Cela signifie que sur une batterie de 4000 mAh, une heure de jeu à 120fps décharge la batterie environ 25–30% plus vite. Les écrans LTPO résolvent partiellement le problème en réduisant la fréquence dans les scènes statiques à 1 Hz, mais pendant l’utilisation active (défilement, jeux) la fréquence reste au maximum.
Le choix entre 60fps et 120fps dépend des priorités du développeur. Pour les réseaux sociaux, les messageries et les applications d’actualités, 120fps n’apporte pas d’avantage significatif — l’interaction principale (lecture, saisie de texte) ne bénéficie pas de l’ultra-fluidité. Pour les jeux, les cartes, les éditeurs graphiques et les applications avec animation intensive, 120fps devient un avantage concurrentiel et un marqueur de qualité.
Tester le 120fps nécessite une approche spéciale : les métriques standard de 60fps ne révèlent pas les problèmes de frame pacing à 120 Hz. Utilisez une caméra haute vitesse (120+ fps) pour enregistrer le comportement réel de l’écran ou les outils intégrés de la plateforme — Xcode Metal Capture pour iOS et AGI (Android GPU Inspector) pour Android. Ces outils montrent le temps exact de chaque image, y compris l’attente VSync, et aident à identifier les micro-à-coups.
Questions fréquentes
Pas toujours. 120fps nécessite deux fois plus d’énergie et de ressources informatiques. Pour le contenu statique et les interfaces simples, 60fps suffit. L’avantage du 120fps est notable dans les scènes dynamiques : défilement, jeux, animations de transition.
Utilisez Xcode Instruments (modèle Core Animation) ou Android Studio Profiler. Sous iOS, vérifiez CADisplayLink.timestamp — l’intervalle entre les appels doit être d’environ 8.3 ms. Sous Android, activez Show refresh rate dans les Options de développement.
L’écran met à jour les pixels deux fois plus souvent, le GPU effectue deux fois plus d’opérations de rendu et le CPU traite deux fois plus d’images. Chaque opération consomme de l’énergie. Les écrans LTPO réduisent la fréquence au repos, mais pendant l’utilisation active, la consommation d’énergie augmente proportionnellement à la fréquence.
Oui. À partir d’Android 11, le système prend en charge différents taux de rafraîchissement. Les développeurs peuvent demander 120 Hz via WindowManager.setPreferredRefreshRate. Cependant, tous les appareils ne peuvent pas maintenir 120fps de manière stable — une optimisation du rendu GPU est nécessaire.
Dans un test en aveugle, la plupart des utilisateurs remarquent la différence lors du défilement et des animations. Cependant, pour une utilisation quotidienne (réseaux sociaux, vidéo, messageries), la différence est subjectivement faible. Après s’être habitué au 120 Hz, le retour au 60 Hz semble lent.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi