Avec macOS Mojave, Apple a changé un réglage important dans son OS : le filtrage des polices n’utilise plus les sous-pixels. Cette modification n’a pas d’impact sur les écrans haute résolution (Retina) mais amène un changement visuel visible sur les écrans basse résolution (sur le MacBook Air par exemple).
Depuis Mac OS X Jaguar, Apple utilise une technologie d’anti-aliasing qui fait appel aux sous-pixels des écrans LCD, comme le ClearType sous Windows (depuis XP). L’idée de base consiste à utiliser les sous-pixels pour améliorer l’affichage des textes. Dans un écran LCD classique, chaque pixel se compose de trois sous-pixels (Rouge, Vert, Bleu, RGB en anglais) dans un ordre précis (RGB, justement) avec une disposition en ligne. En effectuant le rendu des polices en utilisant les sous-pixels en question, la définition est artificiellement triplée et les polices semblent plus épaisses et moins nettes, plus douces à l’oeil. Ce type de rendu a tendance à ajouter des artefacts colorés quand on s’approche des pixels (logique) et ne fonctionne réellement bien que sur les écrans LCD avec la bonne disposition (en lignes) et le bon ordre de pixels (RGB). Si le sujet vous intéresse, quelques pages expliquent bien le problème.
Avec macOS Mojave, Apple revient à une technique plus simple, pour deux raisons. La première, évidente, c’est que le rendu n’a plus de raisons d’être avec les écrans haute résolution des Mac. Vu la taille des pixels, il suffit d’effectuer le filtrage au niveau des pixels. On gagne en performances (Xbench, même s’il est vieux, donne un gain conséquent, de l’ordre de ~25 %) et les artefacts colorés, parfois visibles, disparaissent. La seconde raison, moins évidente, vient du fait que le rendu nécessite un LCD avec un rendu classique. Revenir sur un système plus simple permet de gérer un filtrage propre même sur une dalle avec des sous-pixels dans un ordre différent ou dans une disposition différente. Typiquement, les écrans OLED (mais pas que) utilisent une disposition en diamant (pentile) dans les appareils portables, et certains téléviseurs ajoutent des sous-pixels.
Le problème, c’est que si le rendu de Mojave fonctionne bien sur un écran haute résolution (Retina), ce n’est pas le cas sur un écran plus classique. Si vous avez un MacBook Air ou un écran externe avec une définition classique (en-dessous de l’Ultra HD), le texte peut donner l’impression d’être de moins bonne qualité. Il existe une solution qui fonctionne sous Mojave (en tout cas en version 10.14.0) et qui passe par la ligne de commande. Une fois la commande entrée, il faut redémarrer (ou fermer la session).
defaults write -g CGFontRenderingFontSmoothingDisabled -bool FALSE
À noter que d’après un développeur Apple qui travaille sur AppKit, cette option risque de ne pas marcher partout et de disparaître à l’avenir :
https://twitter.com/jnadeau/status/1044809068513316864
Bonjour
Comment dois je faire pour annuler cette action (sur un MacBook Pro 2012).
En effet lors de l’extinction et de l’allumage du portable j’ai plein de ligne de commande qui apparaissent…. même si le rendu est en effet bien meilleur
Merci d’avance
La même commande avec TRUE à la place de FALSE