Navigateur : Chrome veut limiter l’effet Javascript
Pour diminuer la consommation de ressources de Chrome, Google expérimente une réduction de l’activité JavaScript sur les onglets en arrière-plan.
Comment rendre Chrome moins gourmand en ressources ? François Doray, développeur logiciel chez Google, travaille sur cette problématique depuis plusieurs années.
Il est mentionné comme contact référent dans un rapport d’expérimentation axé sur une solution : réduire l’activité du code JavaScript sur les onglets en arrière-plan.
L’expérimentation en question a porté sur les onglets inactifs depuis au moins 5 minutes. Elle a consisté à y limiter le nombre d’exécutions des minuteurs JavaScript : une par minute au maximum (contre une par seconde dans la version stable de Chrome).
L’objectif était que le navigateur effectue moins souvent, sur ces onglets, des tâches jugées non nécessaires. Par exemple, contrôler :
- la visibilité de l’icône panier et le pourcentage de la page vu sur un site e-commerce ;
- la visibilité de la publicité sur un site média ;
- le statut du défilement de page sur le site d’un hôtel.
Jusqu’à 28 % d’autonomie supplémentaires
Les tests – au nombre de deux – se sont faits sur un MacBook Pro 15 pouces de 2018, avec processeur Core i9 à 2,9 GHz, 32 Go de RAM et macOS 10.14.6.
Le premier test a impliqué 36 onglets d’arrière-plan (parmi lesquels Amazon, Facebook, Gmail, Slack, Twitter et UberEats) et, en guise d’onglet actif, une page blanche (about:blank). L’économiseur d’énergie était désactivé.
Sur trois essais sans l’optimisation JavaScript, la durée de vie médiane de la batterie s’est élevée à 6,4 h. Avec l’optimisation, elle a atteint 8,4 h. Et s’est ainsi rapprochée de l’autonomie atteinte avec Safari, qui impose la même limite aux minuteurs JavaScript.
Le deuxième test s’est déroulé sur la même base, mais avec, en guise d’onglet actif, une vidéo YouTube en plein écran. Et, par rapport au premier test, la désactivation du réglage automatique de la luminosité.
Sans optimisation, l’autonomie médiane a atteint 4,7 h. On en est arrivé à 5,3 h avec optimisation.
Une exception pour les entreprises
Les utilisateurs de Chrome 86 (disponible sur le canal Canary) peuvent expérimenter en activant un drapeau.
Il est trop tôt pour savoir quelle forme prendra cette fonctionnalité prendra au final. L’option que Google semble privilégier induit :
- La limite susmentionnée pour tous les minuteurs dont le délai d’exécution est inférieur ou égal à 5 minutes
- Un intervalle réduit à 1 seconde pour toues les minuteurs dont le timeout est supérieur à 5 minutes
Les autres méthodes envisagées doivent notamment permettre d’éviter d’éventuels conflits entre cadres de même origine. Et les problèmes de sécurité qui pourraient en découler.
Google entend mettre à disposition des entreprises une politique de groupe qui permettrait de contourner ces nouvelles règles. Elle resterait valable un an après l’intégration de ces optimisations dans la version stable de Chrome.
De manière générale, il est question d’afficher un message d’alerte dans la console développeurs pour tout minuteur retardé de plus de 5 secondes.
À lire : notre comparatif des navigateurs mobiles et desktop pour 2020
Illustration principale © Evan Lorne – Shutterstock