iTerm2 3.2 utilise Metal 2 pour améliorer ses performances

Nicolas Furno |

Metal, l’API graphique d’Apple, a déjà permis d’améliorer les performances de plusieurs jeux, de macOS lui-même et aussi de quelques apps graphiques. Mais cette API disponible sur toutes les plateformes d’Apple peut aussi améliorer les performances dans des contextes où on ne l’attend pas forcément. Ainsi, la prochaine version d’iTerm2, actuellement en bêta, exploite Metal 2 pour offrir des performances en hausse. Il s’agit d’un terminal, qui n’affiche ainsi que du texte dans ses fenêtres, et pourtant les gains seront appréciables.

iTerm 3.2, avec l’indicateur de rafraichissement en haut à droite, une option qui permet de vérifier que Metal 2 est utilisé pour le rendu.

iTerm2 3.2 promet un rendu à 60 images par seconde grâce à Metal 2, ce qui veut dire que l’on aura un affichage toujours parfaitement fluide, sans aucun ralentissement. C’est agréable, notamment quand on fait défiler le long historique d’une session, et les gains sont en effet sensibles entre cette version et la précédente. Mais les gains en termes de performance ne s’arrêtent pas à cela, ils vont plus loin : le concepteur de l’app indique deux autres progrès. On devrait avoir moins de latence au clavier (le temps entre le moment où l’on presse une touche et son affichage à l’écran), et la sortie de certaines commandes, comme cat pour afficher le contenu d’un fichier, devrait être plus rapide.

Autant de progrès, mais il y a aussi quelques contraintes à prendre en compte, au moins dans la version actuelle. Passer par Metal pour le rendu n’est possible que dans certains cas, il faut notamment une fenêtre parfaitement opaque et désactiver les options de ligatures de texte. En outre, on revient sur un affichage standard dans certaines situations, en particulier lors d’une recherche Metal est aussi désactivé par défaut sur les portables quand ils sont sur batterie, car ce moteur de rendu peut nécessiter davantage de ressources1.

Ces limites évolueront peut-être au fil des versions et Metal est encore une fonction expérimentale, à activer d’ailleurs dans les réglages avancés de l’app (option « Use Metal GPU-based renderer »). Si vous voulez l’essayer, vous devez télécharger la bêta d’iTerm2 3.2 à cette adresse ou, plus simplement, en cochant l’option « Update to beta test versions when available » dans le premier panneau de préférences à l’intérieur de l’app. Le rendu Metal nécessite macOS 10.11 au minimum, mais la dernière bêta ne l’active qu’à partir de macOS 10.12 en raison d’un bug avec El Capitan.


  1. Ce paramètre peut être modifié dans les réglages avancés : changez le paramètre « Disable Metal renderer when not connected to power. » si vous voulez bénéficier de Metal en permanence. ↩︎

avatar C1rc3@0rc | 

Une application de terminal qui compte sur Metal pour améliorer ses performances graphiques... performances graphiques et terminal, dans la meme phrase???
A la limite ce serait inquietant s'il y avait vraiment une amelioration...

Ok on va dire que l'editeur a trouve un moyen de faire parler de son logiciel (excellent au demeurant) gratuitement.

avatar Yacc | 

@C1rc3@0rc

tu ne serais pas calviniste ?

avatar michael75 | 

Bonne nouvelle !
Certainement l'appli que j'utilise le plus à longueur de journée sur le Mac

avatar r e m y | 

C'est tout de même étonnant qu'ils utilisent Métal mais demandent de désactiver les effets graphiques (transparence, ligature des lettres...)... il y a comme une contradiction, non?

avatar mrkapp | 

surtout qu'il ne faut pas oublier qu'une partie de la lenteur de réponse du terminal dépend de la bp... si vous ssh un serveur avec une bp de merde... le terminal parraitra lent et metal n'y pourra rien... (je ne parle pas d'un command sur le terminal de sa propre machine...)

avatar bitonio | 

@mrkapp

La bande passante oui mais pour remplir un terminal à 60 images / se il faut pas grand chose, vraiment. Souvent c’est plus le RTT/latence et la jigue qui vont rendre les choses saccadées.

avatar bonnepoire | 

@mrkapp
Faut vraiment avoir une bande passante ridicule pour subir des ralentissements dans un terminal...

avatar mrkapp | 

une ADSL classic avec un upload en cours ... ou un rsync qui sature la bp...
tout le monde n'est pas encore fibré :)

avatar bonnepoire | 

Avec 10mbit tu peux faire du terminal. Même en pompant sur ta ligne il te reste encore de quoi faire...

avatar iVador | 

J’ai compilé le source code sur macOS Mojave mais l’appli plante au lancement , dommage

avatar xDave | 

@Nicolas Furno

"Le rendu Metal nécessite macOS 10.11 au minimum, mais la dernière bêta ne l’active qu’à partir de macOS 10.12 en raison d’un bug avec El Capitan."

Et donc une machine qui supporte métal ou c'est une option?
Franchement une accélération graphique dans un terminal… ?

avatar bonnepoire | 

Heureusement il y a encore des développeurs qui s’amusent. Les utilisateurs sont tellement blasés...

avatar Yacc | 

@bonnepoire

yep ?

avatar xDave | 

Je ne vois pas le rapport.
Je pense à ceux qui ont un "vieux" mac et je demande si c'est une obligation d'avoir une machine Metal compatible.
J'ai un MBP 2017, donc je m'en cogne.

avatar Yacc | 

L'espris Geek canal historique se perd.

Vous ne voyez pas ce qu'il y a de merveilleusement inutile dans cet exercice de style ?

Vous ne voyez pas ce qu'il y a de délectablement ironique dans l'usage d'une telle API en mode texte ?

Tout se perd :-)

avatar ipaforalcus | 

Enfin ! Je sais pas ce qu’ils ont foutu mais depuis quelques versions iterm a vraiment beaucoup de mal avec la transparence et le flou, ce serait génial qu’au final toute latence soit éliminé de ce côté là aussi.

CONNEXION UTILISATEUR