Google Chrome a un problème avec les ordinateurs portables. Outre les détails de performance occasionnels, le navigateur de Mountain View exige un sacrifice sous forme de batterie. Microsoft a même fait pression sur ce point en faisant la promotion d'Edge, et les développeurs ont travaillé longtemps pour corriger la situation. Après son annonce formelle en septembre de l'année dernière, la version 57 de Google Chrome inclut désormais un système de « throttling » pour les onglets en arrière-plan, de sorte qu'ils ne réclament plus de 1 % du processeur.

Chrome 57 optimise les onglets en arrière-plan pour consommer moins de batterie
Chrome 57

Le paysage des navigateurs modernes est lamentable. En ce moment, je suis en train d'exécuter une instance de Firefox et une autre de Chrome. Le navigateur de Mozilla a décidé de dévorer un total de 977 mégaoctets de RAM pour trois onglets et deux extensions, qu'il refuse catégoriquement de rendre. De l'autre côté, Chrome souffre encore de crises existentielles à chaque fois que je fais un peu de scrolling sur des portails comme Facebook. Le résultat est une sorte de break dance toxique qui utilise 50 % d'un processeur à quatre cœurs, et aucun commande dans la section flags ou extension dans la boutique n'aide à cela. Un autre problème très sérieux que subit le navigateur de Google est la consommation de batterie sur les ordinateurs portables. Peu importe le modèle ou le système d'exploitation, Chrome se charge d'essorer les batteries comme si elles étaient des oranges.

Chrome 57 optimise les onglets en arrière-plan pour consommer moins de batterie
Pas besoin d'attendre : il suffit de mettre à jour le navigateur

Les ingénieurs ont découvert que de nombreuses pages consomment une grande quantité de cycles du processeur même lorsqu'elles se trouvent sur un onglet en arrière-plan. Avec l'arrivée de Chrome 57, ce comportement va changer. La clé est un nouveau système de « throttling » basé sur un budget (mesuré en secondes) auquel chaque onglet en arrière-plan est soumis une fois que 10 secondes sont passées. Ce budget se régénère (avec un facteur de 0,01 seconde « par » seconde), mais l'onglet en arrière-plan ne pourra accéder au « wall time » du processeur (le wall time est le temps réel nécessaire à un processus pour démarrer et accomplir sa tâche) que s'il n'a pas épuisé son budget. En d'autres termes, on estime que la consommation moyenne pour un onglet en arrière-plan sera de 1 % du processeur.

Les principales exceptions au throttling sont les onglets qui jouent de l'audio (car ils sont automatiquement considérés comme au premier plan) et ceux qui maintiennent des connexions en temps réel via WebRTC ou WebSockets. L'équipe de Chromium rapporte une réduction des « onglets occupés » de 25 %, et sur certains sites, la baisse de l'utilisation du processeur peut atteindre 75 %. Bien sûr, ce dont nous avons besoin maintenant, ce sont des mesures beaucoup plus solides de la part des utilisateurs, qui devront vérifier si cela se traduit par une plus grande durée de batterie. Mais l'histoire ne s'arrête pas là. Vers 2018, on cherchera la suspension totale des onglets en arrière-plan.

Annonce officielle :