Catégories
Astuces et Design

Réflexion sur la consommation d'énergie et les sites Web

Gerry McGovern a demandé si j'avais un aperçu de la consommation d'énergie et des sites Web. Il a un livre, après tout, sur les coûts numériques sur la planète. Il s'interrogeait sur les spécificités de la technologie Web, comme…

Si vous faites cela en HTML, cela consommera 3 fois d'énergie, mais si vous le faites en JavaScript, cela en consommera 10×.

Je penserais si tu vraiment regardé et savait exactement comment le mesurer, vous pourriez trouver des exemples comme ça. Disons que je voulais déplacer un élément sur l'écran. Si j'ai écrit un setInterval boucle en JavaScript qui a incrémenté le left position sur l'élément relatif par une milliseconde, je suis sûr à 99% que cela prend plus d'électricité littérale à faire que si vous deviez faire un CSS @keyframes l'animation au cours de laquelle vous avez modifié le transform: translateX() valeur. Dans cet exemple, nous pensons généralement aux performances plutôt qu’à la consommation d’énergie, mais c’est tout de suite intéressant: une bonne performance mappe-t-elle pour réduire la consommation d'énergie? Probablement.

Des recherches se sont penchées sur cela.

Nous découvrons une corrélation négative statistiquement significative entre les scores de performance et la consommation d'énergie des applications Web mobiles (avec des tailles d'effet moyennes à grandes), ce qui implique qu'une augmentation du score de performance a tendance à entraîner une diminution de la consommation d'énergie.

Ils testaient des applications Web mobiles sur Android à l'aide des scores Lighthouse. Je peux supposer que cela correspond assez bien à d'autres plates-formes et à d'autres mesures de performance.

Je suis heureux que les recherches effectuées jusqu'à présent correspondent à ce que je m'attendrais logiquement à être vrai. Les choses qui conduisent à de mauvaises performances sont des choses qui demandent de l'énergie. Imaginez des images. Vous serez déçu par les scores de performance pour la diffusion d'images trop volumineuses ou non optimisées. Imaginez les implications de cela sur les performances. Il y a deux images sur un serveur, une grande et une petite. Lequel nécessite le plus d'électricité pour se rendre à l'ordinateur d'un utilisateur? Le grand. Lequel nécessite plus de puissance de traitement pour analyser et afficher? Le grand. Lequel occupe le plus de mémoire (qui consomme de l’électricité) pendant toute la durée de sa vie à l’écran? Le grand.

Moins il y en a sur le réseau, moins il y a d'électricité.

Moins votre navigateur a à faire, moins il y a d'électricité.

Une publicité qui s'actualise automatiquement toutes les quelques secondes? Non seulement c'est ennuyeux, mais c'est aussi un gaspillage de bande passante et donc un gaspillage d'électricité. Chaque fois que vous devez recourir à l'interrogation (c'est-à-dire faire une demande réseau à plusieurs reprises) plutôt qu'à quelque chose d'événement comme les sockets Web? Cela utilise de l'électricité que vous n'avez peut-être pas eu besoin d'utiliser.

Nous savons que les CDN sont également bons pour les performances. Plutôt qu'un fichier (comme une image) devant voyager à travers le monde, il provient d'un serveur beaucoup plus proche géographiquement sur un serveur conçu pour ce travail. C'est là que les choses me deviennent un peu plus troubles.

Avec la performance comme objectif: objectif atteint. Avec une faible consommation d'énergie comme objectif, sommes-nous là?

Cela a été étudié, mais malheureusement, je ne peux pas dire quelle est la conclusion à partir du seul résumé. Dans mon esprit, les choses sont compliquées par le fait que les serveurs du monde entier stockent des copies de ces actifs, et lorsque les actifs changent, ce n'est pas seulement un serveur où ils se mettent à jour, mais encore une fois, des serveurs dans le monde entier. Il doit y avoir un équilibre entre la propagation et le stockage duplicatif dans la mesure où les économies qui seraient réalisées par l'efficacité des demandes de sauvegarde.

En parlant d’efficacité du stockage, je suis certain que le stockage sur disque consomme beaucoup moins d’électricité que les fichiers envoyés sur les réseaux, mais cela a toujours un coût. Supposons que vous ayez enregistré une copie de chaque fichier chaque fois que vous l'avez modifié. Supposons que vous ayez enregistré une copie complète de votre site Web chaque fois que vous l'avez déployé. Utile? Sûr. Cela coûte-t-il de l'électricité? Il doit. Il doit y avoir un équilibre pour y parvenir.

Mais Gerry me posait des questions sur des technologies particulières. Je peux penser à une autre chose importante dans CSS land: le mode sombre! Encore une fois, cela a été étudié. Le mode sombre économise de l'énergie.

Le mode sombre peut en effet réduire la consommation de puissance d'affichage jusqu'à 58,5% à pleine luminosité pour l'ensemble des applications Android populaires que nous avons testées! En termes de réduction de l'épuisement de la batterie du téléphone, cela se traduit par des économies de 5,6% à 44,7% à pleine luminosité et de 1,8% à 23,5% à 38% de luminosité.

Et qu'en est-il de la comparaison des technologies? Je soupçonne qu'il s'agit bien plus de ce que fait cette technologie (ou langue) que de la langue elle-même. Par exemple, je peux créer une petite zone qui s'ouvre et se ferme en HTML avec un

élément. Est-ce plus économe en énergie que de créer cette zone en attachant un gestionnaire de clic sur un bouton qui fait basculer la classe d'un élément qui l'ouvre et le ferme visuellement? J'en doute un peu. Je parie que l'électricité utilisée dans les étapes de re-peinture / re-rendu que le navigateur effectue et les langues derrière cela sont moins pertinentes. Et encore! Si j'ai fait télécharger au navigateur une bibliothèque JavaScript de 50 Ko juste pour implémenter mon petit élément open / close, alors oui, ça compte, et la version JavaScript est moins efficace.

De cette façon, tout aussi bonne performance généralement correspond à une moindre consommation d’énergie, je parie qu’en adhérant à la règle de la moindre puissance correspond généralement à une moindre consommation d’énergie.

Vous en avez assez de deviner des trucs? C'est suffisant.

L’article de Jack Lenox intitulé «Comment l’amélioration des performances du site Web peut aider à sauver la planète» sur Smashing est une meilleure plongée en profondeur. Il pointe vers des sites Web qui testeront votre site. Le calculateur de carbone du site Web est un exemple et il déclare:

Le calcul des émissions de carbone du site Web est un peu un défi, mais en utilisant cinq données clés, nous pouvons faire une assez bonne estimation:

1. Transfert de données sur le fil
2. Intensité énergétique des données Web
3. Source d'énergie utilisée par le centre de données
4. Intensité carbone de l'électricité
5. Trafic du site Web

Le code de test est open source.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *