Bonjour à tous.
Après de longues années Delphi (version 4 puis 7), je programme depuis peu sous Lazarus pour environnement Windows (principalement).
Je n'ai pas en m'en plaindre, excepté la programmation graphique et plus spécifiquement l'ouverture de fichiers.
Quelle lenteur par rapport avec ce que faisais en Delphi !
Sous Delphi :
- ouverture des bmp par la procédure native de TBitmap.
- pour les jpeg, utilisation de ijl.pas avec dll associée (beaucoup plus rapide que l'ouverture par TJpegImage).
- utilisation de GraphicEx pour les autres extensions : tif, psd, png...
Résultat : un fichier de 20 millions de pixels s'ouvre et s'affiche presque à la vitesse de l'éclair (surtout les jpeg).
Sous Lazarus, après avoir essayé les composants intégrés et d'autres librairies (imaging...), mon choix s'est porté sur la librairie BGRABitmap.
Excellent: propriété Scanline très rapide, alphablending, filtres, dessin antialiasing... Bref, je la recommande à tous.
Le bémol, mais il est de taille : l'ouverture des fichiers est beaucoup plus lente. BGRABitmap, à mon avis, n'est pas en cause (il utilise les reader et writer).
Cela vaut pour tous les types de fichiers.
Ouvrir un psd (photoshop) : cela marche, mais vous avez le temps de prendre un café !
Vous allez me dire que la lenteur d'ouverture d'un fichier n'a qu'une faible importance dans un logiciel de traitement graphique, mais elle en a beaucoup dans un Viewer.
Mes questions :
1) avez-vous trouvé une bibliothèque plus rapide ?
2) l'unité ijl.pas peut-elle être adaptée pour Lazarus ? (j'avoue ne pas avoir encore testé)
3) malgré plusieurs download de GraphicEx soit disant adaptée pour Lazarus, impossible de la compiler (même en modifiant pas mal de choses).
Je vous remercie d'avance.
Cordialement.
Thierry
Partager