Chrome va bientôt indiquer la mémoire économisée par un onglet en veille

Félix Cattafesta |

Google cherche à optimiser la consommation de RAM de Chrome. Le navigateur devrait bientôt indiquer à l'utilisateur la quantité de mémoire économisée lorsqu'un onglet est inactif, une fonction déjà disponible sur Edge depuis quelque temps. La nouveauté (pour le moment réservée aux développeurs) a été repérée par un utilisateur de Reddit.

Image : u/Leopeva64-2.

Comme on peut le voir sur cette capture d'écran, un popup indiquera clairement la quantité de mémoire économisée pendant la période où l'onglet était inactif. On pourra obtenir l'information en cliquant sur une nouvelle icône dans la barre d'URL. Une liste blanche sera proposée via les réglages afin d'éviter de mettre en veille des onglets importants.

Cette nouveauté sera pratique pour rapidement détecter les pages lourdes, mais aussi constater l'efficacité de la nouvelle fonction « Memory Saver » de Google. Ce mode d'optimisation des performances est apparu il y a peu sur les versions de Chrome pour développeur. Il se cache dans un nouvel onglet « Performances » des réglages et permet de récupérer la mémoire des onglets inactifs.

Google a aussi dans ses cartons un nouveau mode d'économie d'énergie. Celui-ci va offrir de limiter l'activité en arrière-plan et les effets visuels lorsque la batterie de l'ordinateur passe sous la barre des 20 %.

Source
Tags
avatar Immagini | 

La consommation faramineuse des onglets Chrome est quasiment LA raison qui m’incitent à prendre 16GO au lieu de 8 sur mon prochain mac ! Très bonne nouvelle si on peut régler ça !

avatar Jeckill13 | 

@Immagini

« Très bonne nouvelle si on peut régler ça ! » c’est même très facile à régler ! N’utilise pas chrome 🤣😉

avatar fte | 

@Jeckill13

"« Très bonne nouvelle si on peut régler ça ! » c’est même très facile à régler ! N’utilise pas chrome 🤣😉"

Et le remplacer par quoi ? Safari 🤣

avatar armandgz123 | 

@fte
Firefox

avatar R-APPLE-R | 

@fte

«Et le remplacer par quoi ? Safari 🤣»

Oui parfaitement ! : https://www.01net.com/actualites/quel-navigateur-respecte-le-plus-et-le-moins-votre-vie-privee.html
😈

avatar anton96 | 

@Immagini

Oui pareil, c’est quand même triste, toute cette décennie passé à en finir avec flash player, tout ça pour avoir encore pire à l’arrivée.

Après, je dis pas que flash était encore forcément pertinent non plus.

avatar Nexon99 | 

@Immagini

Sinon tu peux changer de navigateur. Edge est beaucoup plus léger et fonctionne exactement de la même manière. 😁

avatar Nexon99 | 

-doublon

avatar kiddsoso | 

@Immagini

Sinon il y a la très bonne extension The Great Tab Suspender

avatar kiddsoso | 

@Immagini

Sinon il y a la très bonne extension The Great Tab Suspender

avatar v1nce29 | 

The great suspender est vérolé. Sauf à aller le chercher sur github

avatar kiddsoso | 

@v1nce29

Whaaaat ?? Ah bon 😶

avatar v1nce29 | 
avatar frankm | 

@Immagini

16 Go pour un navigateur ! Si ça c’est pas ridicule

avatar ditek | 

@Immagini

Le choix d’un autre navigateur aurait été bcp plus économique….

avatar eastsider | 

@Immagini

Pourquoi tu préfères chrome a safari?

avatar frankynov | 

Ma compagne utilisant en moyenne 40 onglets ouverts dans chrome sur son MacBook Air M1 8Gb appréciera 🤪
Un véritable veau cette machine quand elle est saturée 😞

avatar marc_os | 

@ frankynov

> Ma compagne utilisant en moyenne 40 onglets ouverts

J'ai tendance à faire ça aussi.
En plus j'ai au moins une vingtaine de fenêtres ouvertes en même temps.
Ça fait du monde.
Et je n'ai aucun problème - avec Safari.
Enfin non : Parfois j'ai un problème : Je ne retrouve plus la bonne fenêtre et le bon onglet ! Et c'est ce qui va me faire changer de manière de faire, pas des problèmes techniques.

avatar fte | 

@frankynov

"Un véritable veau cette machine quand elle est saturée 😞"

Et oui, tant de puissance et si peu de mémoire pour la déployer. Risible.

avatar CorbeilleNews | 

@marc_os

Avant ce genre de problème pouvait être facilement résolu par une matrice de bureau (appelés aussi espaces de travail) (genre 4 lignes, 3 colonnes ou plus au choix)

Depuis l’après Snow Leopard c’est une ligne de bureau (mission bidule il me semble) ou il est bien moins facile de s’y retrouver a partir de 5-6 bureaux ouverts avec une disposition rectiligne

On pouvait donc auparavant mettre les onglets ou applications que l’on souhaite automatiquement toujours au même endroit et avoir une représentation mentale permettant d’aller chercher plus facilement l’onglet ou l’application qui nous intéresse avec les raccourcis claviers (on se déplace dans la matrice d’espaces de travail) : plus difficile quand c’est une ligne de plusieurs bureaux

C’est la définition du progrès façon Apple : imposer des manières de faire plutôt que laisser le choix (qui pouvait le plus pouvait aussi le moins ce qui n’est plus possible maintenant : belle avancée… : une des raisons pour lesquelles j’ai quitté le Mac !!!

avatar marc_os | 

@ CorbeilleNews

> On pouvait donc auparavant mettre les onglets ou applications que l’on souhaite automatiquement toujours au même endroit et avoir une représentation mentale permettant d’aller chercher plus facilement l’onglet ou l’application qui nous intéresse
> une des raisons pour lesquelles j’ai quitté le Mac

Quel OS d'aujourd'hui vous offre donc cette représentation en « matrice de bureau » ?

avatar CorbeilleNews | 

@marc_os

Linux

J’avais tenté d’utiliser un utilitaire mac a l’époque mais dès que je passais un soft en plein écran mission control reprenait la main et l’éditeur ne pouvait rien faire contre !

C’est pour moi un preuve de plus (parmi d’autres) de la fermeture de l’écosystème d’Apple !

avatar marc_os | 

@ CorbeilleNews

> Linux

Toutes les distributions Linux proposent cela ?
Ceci dit, je doute que les administratifs de ma boîte voudraient troquer leur Mac contre du Linux.

avatar CorbeilleNews | 

@marc_os

Ubuntu et Debian le propose en natif selon les versions : sous Unity c’est sûr mais sur Debian il y a longtemps que je n’ai plus essayé

Il me semble que ArchLinux et Manjaro le propose aussi mais je ne sais plus quelle version non plus a force de les tester 😋

avatar klemanet | 

Mais cette nouvelle fonctionnalité prendra 3go de ram pour tourner

avatar marc_os | 

un popup indiquera clairement la quantité de mémoire économisée pendant la période où l'onglet était inactif

Quel intérêt ?
C'est pour dire à l'utilisateur, regardez comme on était nul et comme on est meilleur maintenant ? 😳

avatar Phiphi | 

@marc_os

"C'est pour dire à l'utilisateur, regardez comme on était nul et comme on est meilleur maintenant ? 😳"

🤷‍♂️
😂🤣😂

avatar Phiphi | 

C’est quand même un truc de cons l’informatique moderne. On écrit n’importe quoi n’importe comment à la va le plus vite possible et après on est emmerdé on arrive plus à intégrer quoi que ce soit sans mettre le bronx, le programme devient un fatras illisible et puis on dépense des mois de travail à essayer d’optimiser en perdant des spécifs et en en cassant d’autres. C’est toujours du bricolage, toutes ces boites aussi grosses soient-elles ne se donnent pas les moyens de travailler proprement dès le démarrage d’un projet.

avatar fte | 

@Phiphi

"puis on dépense des mois de travail à essayer d’optimiser"

Seule l’échelle a changé, et quelques contraintes.

Mais ne t’y trompe pas : les seules optimisations systématiques en 50 ans d’informatique personnelle n’ont qu’une seule cause : l’obligation d’optimisation pour que ça seulement tourne. Point.

Ce n’est ni pire ni mieux aujourd’hui.

Et non, Apple n’optimise ni plus ni moins que n’importe quel autre développeur majeur. Aka, le minimum obligatoire.

Cette optimisation de Chrome est marketing. C’est la raison pour laquelle ils communiquent dessus et affichent des messages.

Edge implémente déjà de telles optimisations. Pour se creuser une place comme alternative à Chrome. Marketing aussi.

avatar Phiphi | 

@fte

Non au tout début on optimisait quand même (et on était bien obligé en fait) mais oui c’est bien le problème de l’informatique. Une voiture mal foutue qui marche avec des bouts de ficelle ÇA CE VOIT par n’importe qui avant de l’acheter alors qu’un programme mal foutu plein de bidouillages tordus personne ne s’en rends compte avant qu’il ne soit trop tard. Du coup tout le monde fait de la merde et celui qui essaie de travailler proprement se fait allumer parce que c’est plus long 🤷‍♂️

avatar fte | 

@Phiphi

"on était bien obligé"

Oui. C’est très exactement ce que je disais : optimisations quand obligé. Pas autrement. Pourquoi s’emmerder si ce n’est pas obligé ? Pourquoi dépenser du pognon sans y être forcé ? Parce que pas.

avatar fte | 

@Phiphi

"on était bien obligé"

Oui. C’est très exactement ce que je disais : optimisations quand obligé. Pas autrement. Pourquoi s’emmerder si ce n’est pas obligé ? Pourquoi dépenser du pognon sans y être forcé ? Parce que pas.

avatar CorbeilleNews | 

@Phiphi

Et il n’y a pas que dans l’info que c’est comme ca …

avatar Phiphi | 

IGeneration a merdé. Doublon.

avatar Phiphi | 

@fte

Ah mais oui Apple apprends au jeune à programmer par approximation successive et déboggage itératif au lieu de travailler avec des tableaux de décisions, des organigrammes et surtout des jeux d’essais exhaustifs. J’ai halluciné quand j’ai regardé Swift playground au tout début 😳
On apprends à programmer comme les shadoks essaye de faire voler la fusée. Et bien non il y a 45 ans je n’ai pas appris la programmation des automates puis celle des « calculateurs » comme ça. Avec un bon cahier des charges et un jeu d’essai soigné, quand ça marchait, ça marchait vraiment. Et les automates s’usaient mais j’ai fais étant jeune des programmes qui n’ont pas eu besoin d’une seule modification de maintenance pendant des années ensuite.

avatar marc_os | 

@ Phiphi

> J’ai halluciné quand j’ai regardé Swift playground au tout début 😳

Ah Swift !
Un dev spécialisé dans les compilateurs (LLVM) n'avait plus rien à faire, alors pour justifier son poste il a inventé un nouveau langage. Et il a appelé ça Swift. Argument majeur, "plus besoin de pointeurs" ! Le mec il aurait dû passer à Visual Basic, Microsoft avait déjà viré les pointeurs ! Swift dans son ensemble c'est un langage de Shadock : "Pourquoi faire simple quand on peut faire compliqué ?" Je l'ai déjà évoqué, comme exemple il suffit d'écrire du code Swift pour extraire d'une chaîne de caractères la sous-chaîne qui va de l'indexe 5 à l'indexe 10. Rien que ça ça vaut son pesant d'or. Ensuite, si on veut utiliser la "sous-chaîne", et bien en fait un a une "substring", et il faut la transformer en String pour la majorité des API !
Du grand n'importenawak. Ensuite la "programmation orientée protocole", laissez moi rire ! Visiblement les adeptes de Swift n'ont pas uniquement des problèmes avec les pointeurs, mais aussi avec la programmation OOP. (Je le vois très bien à mon taf).
Dernier exemple : la communication XPC. Et bien x années après la création du langage, il faut toujours utiliser les classes NSXPC, toujours pas de support natif dans le langage. Ou utiliser un framework qui fait le job (chez nous on en utilise un basé sur les api en C ! Je peux parler aussi de l'intégration avec les objets d'interface, si tu utilises des NSTextField, que tu veux récupérer la sélection, tu chopes du NSRange, dont tu ne peux rien faire en Swift, à par le convertir en Range, alors là oui.
Et je ne parle pas des interactions avec les API bas niveau en C de macOS, où tu dois quand même te tapper des pointeurs. Mais comme les pointeurs c'est pas "natif", bonjour le bazar.
Etc, etc.
Et question performances moisies, c'est pas grave, les ordis de nos jours sont assez puissants.
Et tout ceci ne rend pas le code Swift plus fiable ou stable que de l'Objective C.

avatar gillesb14 | 

@Phiphi
Nous devons être de la même génération, PB 100, Director 4001
Il fallait bien concevoir et faire avec ce que l’on avait.
Le truc est parti en vrille quand on a augmenté la puissance des automates fin des années 80 avec Siemens par exemple.
Les programmes sont devenus lourds à tel point que le temps de scan excédait certains temps de capteurs “pas vu pas pris en compte”.
Depuis ce n’est que du bricolage pour remédier à des erreurs dues a l’absence d’une réflexion sérieuse.
Je n’ai vu que certaines choses cohérentes quand on est sur des fonctions critiques impliquant de gros risques mais la on utilise plutôt des choses genre QNX.

avatar Krysten2001 | 

@fte

Pourtant safari mange moins de RAM en utilisation 😉

avatar fte | 

@Krysten2001

"Pourtant safari mange moins de RAM en utilisation 😉"

En étant plus lent et moins compatible et beaucoup plus buggé. Yep. Le logiciel, c’est très souvent un compromis. Toujours en réalité.

avatar Krysten2001 | 

@fte

Lent ? Moins compatible ? Ça dépend de l’utilisation de chacun mais aucune gêne pour moi 😉

avatar fte | 

@Krysten2001

"Lent ? Moins compatible ? Ça dépend de l’utilisation esde chacun mais aucune gêne pour moi 😉"

Ah oui bien sûr, tant qu’on ne surf pas et qu’on utilise pas les outils dev, Safari est très bien.

avatar radeon | 

Moi je veux que chrome affiche le pourcentage d’emprise sur le web par Google grâce à ce navigateur, car c’est quand même sa fonction principale.

avatar mimolette51 | 

Donc tu ouvre un onglet depuis une recherche google a regarder plus tard. Ce plus tard, fermer le popup chrome+rejeter la notification du site puis l'annonce RGPD...

avatar PtitXav | 

@marc_os : il y a toujours des pointeurs en Swift : les classes sont pointeurs sur une structure. Ce n’est que lors de l’utilisation de celles-ci qu’on peut avoir les problèmes de fuites.
Sinon, Swift est un langage bizarre au début, mais qui s’apprécie à force de l’utiliser. Avec quelques petites nouveautés sympa :
- créer ses propres opérateurs
- les codables qui simplifient la gestion des données json
- les protocoles (qu’on retrouve aussi sur objective-c) mais avec la possibilité d’ajouter des implémentations par défauts qui peuvent rajoutent des fonctionnalités à n’importe quel type via le declaration d’une extension.

De toute façon, c’est comme tous les langages : on peut faire du code hyper optimisé mais inmaintenable ou faire du code propre qui peut évoluer et éventuellement être optimisé dans un second temps une fois validé.

avatar fleeBubl | 

@PtitXav

Ça donne envie. Merci ☺️

avatar marc_os | 

@ PtitXav

> créer ses propres opérateurs

Comme en C++.
Perso, ça ne m'a jamais manqué en Obj-C

> les codables qui simplifient la gestion des données json

https://jihyunsblog.wordpress.com/2018/04/05/how-to-make-codable-class-to-use-in-objective-c/

> les protocoles (qu’on retrouve aussi sur objective-c) mais avec la possibilité d’ajouter des implémentations par défauts

« on [les] retrouve aussi sur objective-c »
Quant à l'implémentation « par défaut » je ne vois pas ce qu'il y a de spécial. En Obj-C il te suffit de créer une classe "par défaut" répondant au protocole et qui offre l'implémentation par défaut.

> il y a toujours des pointeurs en Swift : les classes sont pointeurs sur une structure

Mouais. Sauf qu'on ne passe pas de "pointeurs" en paramètres aux fonctions.
Car utiliser * et & c'est trop dur il parait.
Du coup, bonjour la cuisine de Shadock quand il faut interagir avec des api C bas niveau de macOS avec des paramètres qui sont des pointeurs et non pas des "références" comme ce qu'on passe une variable d'instance d'objet à une fonction en Swift.
En plus, si tu définis une struct, celle-ci sera dupliquée par l'appelant s'il y modifie une propriété. Par contre, si tu fais évoluer ton code, que tu décides de déclarer ta struct désormais comme une classe qui hérite d'une autre, moyen classique pour factoriser du code en OOP, alors le comportement change au niveau de l'utilisateur : Si tu modifies des propriétés de l'instance, celle-ci n'est pas dupliquée (OOP). Or si tu ne veux pas que ça arrive... mais comme on ne peut pas avoir de struct étant une "sous structure", ça fait une possibilité de factorisation du code en moins. Au final, ce que je vois, c'est qu'on reviens vers du procédural, avec du code emballé dans des objets structures, comme je le voyais à une époque en Visual-Basic.

Autre chose : Les variables optionnelles.
Trop cool. A première vue.
Au final, tu n'arrêtes pas d'ajouter du code pour vérifier si (genre guard let x = ).
Car vérifier si x == nil, ou tester un code d'erreur, c'est has been.
Et tant pis si les API bas niveau de macOS renvoient un code d'erreur.
Quant aux API "haut niveau", bonjour l'interface avec les objects d'interface comme NSTextField, tu n'arrêtes pas de jongler entre des objets hérités de Objective-C et Swift. Un coup coup avec NSRange, un coup avec des Range Swift, "objets" incompatibles qu'il faut convertir de l'un à l'autre selon les besoins (selon les API à qui on veut les passer).

avatar Ginger bread | 

Consommer de la mémoire pour montrer qu en économise.

CONNEXION UTILISATEUR