Cairo peut déporter le rendu vers différents backends, ce qui le rend susceptible de produire à la fois des graphiques à l’écran et pour l’impression. En utilisant la bibliothèque Glitz, Cairo peut utiliser l’accélération graphique et OpenGL, permettant à Mozilla de tirer profit du matériel de rendu 3D actuel. Plus d’infos.
Qu’est-ce que cela apportera à une application comme Firefox ?
- La possibilité d’afficher de la 3D et même de profiter de l’accélération matérielle;
- D’avoir un meilleur affichage de SVG au sein d’une page HTML ou XUL;
- Cairo offrant la possibilité de "rediriger" l’affichage vers du PDF, du PNG, ou du Postcript, on pourra donc s’attendre à de serieuses améliorations du coté de l’impression, mais aussi imaginer l’export d’une page HTML vers du PDF ou sous forme d’une image PNG, sans que cela soit compliqué pour les développeurs de Gecko;
- Un affichage plus lisse des propriétés CSS
-moz-border-radius; - L’intégration de la propriété CSS text-shadow (qui n’est pour l’instant disponible que sur Safari). Plus d’infos.
L’intégration de cette librairie devrait avoir lieu d’ici la sortie de Firefox 3, et le DevNews Mozilla nous apprend que dès aujourd’hui elle sera activée par défaut dans les compilations nocturnes de Firefox sous Windows.
Attention cependant, il est bien précisé que ce changement entraîne des baisses de performances (vitesse d’affichage, mémoire, etc.) et des régressions au niveau de l’affichage du texte et de la sélection des polices de texte. En effet je me souviens avoir testé une version test de Firefox intégrant Cairo il y a quelques mois et tout l’écran (même les menus) étaient baveux.

8 réactions
1 De vdemeester - 23/02/2006, 23:19
En fait, Mozilla Firefox 1.5 utilise déjà la librairie Cairo, mais juste pour l'affichage svg.. C'est ça non ?
Hum qu'en est-il des nightly Unix/Linux (et Unix/MacOs) ? C'est déjà intégré complètement ?
Enfin, je suis tout à fait d'accord sur le fait que cette librairie est tout à fait magnifique. Gnome l'a intégré à ses dernières versions (2.12 et plus) et le rendu est superbe (surtout si on utilise des thèmes développés pour). Et quand on voit ce que Novell à fait grâce à Cairo et Glitz : Xgl, alors on se dit qu'effectivement, l'intégration complète de cette librairie est une très bonne chose pour Firefox !
2 De Thomas - 24/02/2006, 08:29
En effet, le moteur de rendu gecko 1.8 utilise déjà Cairo pour afficher du SVG et l'élément canvas. c.f. www.mozilla.org/roadmap/g...
La version 1.9 utilisera Cairo pour quoi que ce soit à afficher : www.mozilla.org/roadmap/g...
Pour les compilations nocturnes sous Linux et MacOsX, il va falloir encore attendre quelques jours, il subsiste encore des bugs importants. Je mettrais le billet à jour lors de leur disponibilité.
3 De p'tit lutin - 27/02/2006, 14:25
On parle bien de cette techno là :
cairographics.org/introdu...
La même que l'on retrouve(ra) dans les API Gtk de Gnome
C'est bien cela ????
4 De mat - 27/02/2006, 15:22
Pour info, un autre interet non negligeable, c'est que avec cairo on peut enfin avoir un look vraiment natif dans firefox pour les widgets HTML par exemple: weblogs.mozillazine.org/r...
5 De Thomas - 27/02/2006, 17:11
@p'tit lutin : oui, c'est cette librairie.
6 De NaWer - 27/02/2006, 18:32
Ça évitera donc les hacks dans ce genre la ?
linuxart.com/log/archives...
linuxfr.org/~Cooker/18564...
pour rendre les formes de Firefox plus agréable et uniforme à l'environnement et au thème.
7 De Thomas - 27/02/2006, 19:58
Je ne peux pas l'affirmer :/ Wait & see...
8 De Thomas - 05/06/2006, 17:58
Non bien sûr mais je pense que sans pour autant afficher de la 3D, cela permettra de faire en sorte que l'affichage 2D (de l'interface autrement dit) soit "calculé" par la carte graphique, et que ça soit donc plus rapide mais j'avoue que ce domaine me dépasse un peu.