Comme tous les autres moteurs de rendu, WebKit (ré)adopte la bibliothèque graphique Skia

Anthony Nelzin-Santos |

Une décennie après l’avoir abandonnée, WebKit retrouve la bibliothèque graphique Skia1. Le moteur de rendu de Safari rentre ainsi dans le rang, puisque le moteur Blink de Google Chrome et le moteur Gecko de Firefox utilisent déjà cette bibliothèque de manipulation des images vectorielles en 2D écrite en C++. Cela commence à devenir une habitude, Apple n’est nullement responsable de cette avancée, entièrement due à Igalia, principale contributrice externe au projet WebKit.

La coopérative galicienne veut depuis longtemps améliorer les performances graphiques de WPE, la version de WebKit pour les systèmes embarqués qui a fait sa réputation, et de WebKit GTK, utilisé par la plupart des environnements de bureau des distributions GNU/Linux. Igalia avait d’abord choisi Cairo, qui est basé sur Postscript comme le moteur graphique Quartz des anciennes versions de Mac OS X, mais il était difficile de l’adapter à de nouvelles plateformes.

Après avoir comparé toutes les bibliothèques graphiques du marché, la coopérative a commencé à écrire la sienne, avant de finalement choisir Skia. Pourquoi ne pas avoir choisi cette bibliothèque open source réputée dès le départ ? « Parce qu’elle ne proposait pas de bibliothèque publique avec une API stable que nous aurions pu empaqueter comme la plupart de nos dépendances », explique le développeur Carlos Garcia Campos. L’expérience gagnée entretemps avec d’autres bibliothèques a levé cet écueil.

Créée en 2004 par une paire d’ingénieurs, Skia avait été achetée l’année suivante par Google, qui s’en était réservé l’usage avant de publier son code sous licence open source en 2008. Depuis, cette bibliothèque prenant en charge l’accélération graphique avec OpenGL ES, Vulkan et Metal a été adoptée par tous les moteurs de rendu. WebKit l’avait abandonnée en 2013 avec le « schisme » de Google, qui avait quitté le projet pour développer son propre moteur de rendu, Blink.

Igalia n’aura pas eu besoin d’un mois pour intégrer suffisamment de fonctionnalités de Skia pour passer tous les tests MotionMark. Après une réunion avec Apple, Google, Sony et Red Hat, la coopérative galicienne a proposé de reverser ses contributions au projet WebKit. Seule la version WPE en profite pour le moment, mais la version GTK suivra et Igalia pense que toutes les autres versions de WebKit utilisant Cairo bénéficieront grandement d’un « retour » à Skia.


  1. À ne pas confondre avec la police de caractères du même nom dessinée par Matthew Carter pour Apple en 1994. Skia était alors la première police compatible avec le système TrueType GX du Système 7.5, aujourd'hui pleinement intégré à la spécification OpenType Variable Fonts. Outre Skia, Carter est aussi connu pour ses polices Charter, Georgia, Tahoma, Verdana…  ↩︎

Accédez aux commentaires de l'article