Cairo (Informatique)

Cairo (informatique)

Page d'aide sur l'homonymie Pour les articles homonymes, voir Cairo.
Cairo
Importez le logo de ce logiciel
Dernière version 1.8.8 (le 16 juin 2009) [+/-]
Environnements Multiplate-forme
Site Web cairographics.org

Cairo est une bibliothèque logicielle graphique libre qui définit une API de rendu vectoriel 2D indépendante du matériel.

Sommaire

Systèmes cibles

Actuellement, cette bibliothèque a été implémentée sur X, OpenGL (via la bibliothèque glitz), Apple Mac OS X, via Quartz (encore instable), ainsi que Microsoft Windows (2000, XP, Vista) ou les tampons mémoires (utilisé sur les PDA et les téléphone GSM). Il peut utiliser une sortie image vers des fichiers PNG mais aussi une sortie vers des fichiers PostScript et PDF et SVG. Cairo utilise l'accélération matérielle si elle est disponible pour une fonction et reviendra à un affichage logiciel si celle ci n'est pas disponible.

Cairo a été commencé par Keith Packard et Carl Worth à la base spécialement pour le X Window System. Son nom original était Xr ou Xr/Xc, mais il s'est vu finalement porté sur les différents systèmes afin de permettre aux différents développeurs d'applications de ne pas avoir à réécrire la partie affichage pour les différentes plateformes.

Il avait à la base un but similaire à la technologie Quartz utilisé par Apple avec Aqua a l'époque du début du projet. Aujourd'hui, la technologie Windows Presentation Foundation de Microsoft utilise également le même principe, ce qui permet à Windows de bénéficier des mêmes technologies que MacOSX ou X11, mais avec une consommation de mémoire plus importante.

Cairo est développé en language C, mais dispose de bind en C++, Ruby[1], Java, Python, PHP, Perl, Lua, Mono, Objective Caml, Common Lisp, Scheme, Haskell et d'autres langages[2]

Historique de Cairo

Les versions mineures paires sont les versions stables et impaires instables :

La stabilisation des fonctions minimum a été assuré pour la version 1.0.
La série 1.2 a eu pour but d'améliorer les performances d'affichage et d'empreinte mémoire.
La série 1.4 version actuellement stable, continue sur cette voie et améliore les sorties PS et PDF

Entre la version 1.4.0 et la version 1.4.4, 60% des appels à la fonction malloc(), principal goulot d'étranglement, ont été éliminés afin d'améliorer les performances[3]. D'autres améliorations ont été amenées dans les versions suivantes pour réduire les reconstructions de motifs déjà à jour (notamment via des caches et du clipping) en cas de demandes intensives des applications.

La série de développement 1.5 a grandement amélioré les sorties PDF en réduisant le recours à des bitmaps. Dans des cas extrêmes, jusqu'alors, si une fonction n'était pas supportée, tout le PDF se retrouvait en bitmap. Le nombre de fonctions PS supportées est également accru. Certaines de ses fonctions ont été réinsérées dans la version 1.4

Logiciels et bibliothèques utilisant Cairo

Les bibliothèques de dessin vectoriel goocanvas et librsvg l'utilisent pour le rendu. Ce sont des bibliothèques en C avec des bind en langage Python et Ruby.

Les bibliothèques graphiques GTK+, FLTK, GNUstep[2] l'utilisent également pour le dessin des widgets, mais n'ont pas de fonctions vectorielles poussées. Dans le cas de GTK+ goocanvas a pour but de remplir ce manque. L'environnement de bureau GNOME, utilisant GTK+, bénéficie donc de ces avantages.

La bibliothèque de gestion de PDF poppler (fork de Xpdf)[4], utilise en partie Cairo afin d'afficher les pdf qu'elle ouvre. Cette bibliothèque est utilisée par les lecteurs de PDF libres ePDFView, Evince, Kat, le greffon KDE PDF kfile ainsi que pour l'importation des PDF dans Inkscape.

L'environnement de bureau KDE (utilisant Qt) n'utilise par contre pas Cairo, certains tests ont montré en octobre 2006 que Qt 4.3 avait, au moins dans certains cas simples, un rendu beaucoup plus rapide que Cairo 1.2.5 [5]. Cependant cairo a été grandement optimisé à la sortie de la 1.4.0, certaines fonctions étaient 96 fois plus rapides [6] et le test serait à refaire aujourd'hui.

Gecko 1.9, le moteur de Mozilla Firefox 3, utilise Cairo pour l'affichage.

Le logiciel de dessin vectoriel libre Inkscape l'utilise pour le rendu en fil de fer depuis la version 0.45[7] et les exportations PDF et PS dans la version 0.46[8]. Le rendu plein et texturé utilise pour le moment la bibliothèque livarot sur lequel son prédécesseur, Sodipodi était basé. Étant donné les gains en termes de performance et de gestion de mémoire, la totalité du rendu devrait être dédiée à cairo dans les versions suivantes.

Le logiciel éducatif pour enfants GCompris est en cours de portage sur goocanvas afin de bénéficier également des avantages de Cairo.

Voir aussi

Article connexe

Liens externes

Références

  1. (en)Rcairo pour ruby
  2. a  et b (en)Cairo bindings, langages permettant d'utiliser nativement la bibliothèque Cairo
  3. cairo 1.4.4 release available Changements de la version 1.4.4
  4. (en)Poppler sur Freedesktop.org
  5. (en)Benchmark Cairo 1.2.5 + Glitz, Qt 4.3 + Xrender, Qt 4.3 + OpenGL, octobre 2006
  6. (fr)Sortie de cairo 1.4.0 sur Linuxfr.org
  7. (en)Inkscape 0.45 release notes ; Outline mode
  8. (en)Inkscape 0.46 release notes ; Import/export
  • Portail des logiciels libres Portail des logiciels libres
Ce document provient de « Cairo (informatique) ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Cairo (Informatique) de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Cairo (informatique) — Pour les articles homonymes, voir Cairo. Cairo Dernière version …   Wikipédia en Français

  • Cairo-Dock — Développeurs L équipe Cairo Dock …   Wikipédia en Français

  • Cairo — ● np. m. ►APPLI►MS Nom de code donné à Windows NT pendant sa longue phase de développement …   Dictionnaire d'informatique francophone

  • Microsoft Cairo — Cairo est le nom de code d un projet de Microsoft ; la firme de Redmond le développa entre 1991 et 1996. Il avait pour objectif de jeter les bases d une nouvelle génération de système d exploitation, en accord avec la conception de Bill… …   Wikipédia en Français

  • Laboratoire d'informatique de Paris 6 — Bannière du LIP6 Le Laboratoire d informatique de Paris 6 (LIP6) est un laboratoire de recherche sous tutelle de l’Université Pierre et Marie Curie et du CNRS. Avec 150 chercheurs permanents et 250 doctorants, le LIP6 est l’un des principaux… …   Wikipédia en Français

  • Laboratoire D'informatique De Paris 6 — Bannière du LIP6 Le Laboratoire d informatique de Paris 6 (LIP6) est un laboratoire de recherche sous tutelle de l’Université Pierre et Marie Curie et du CNRS. Avec 150 chercheurs permanents et 250 doctorants, le LIP6 est l’un des principaux… …   Wikipédia en Français

  • Nouveau (informatique) — Pour les articles homonymes, voir Nouveau. Nouveau …   Wikipédia en Français

  • Dock (informatique) — Pour les articles homonymes, voir Dock. Le dock est une fonctionnalité d interface graphique qui permet en général à l utilisateur de lancer ses logiciels et de passer de l un à l autre. Le dock le plus courant est celui de Android (pour les… …   Wikipédia en Français

  • nom de code — ● loc. m. ►PROG►SOC La plupart des produits et logiciels ont des noms de code avant leur sortie, et parfois même après. Exemples: Whistler (successeur de Windows 2000), Cairo (Windows 95). Ces noms de codes seraient trop nombreux pour être tous… …   Dictionnaire d'informatique francophone

  • Download day — Mozilla Firefox « Firefox » redirige ici. Pour les autres significations, voir Firefox (homonymie). Mozilla Firefox …   Wikipédia en Français


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.