16Fermer18
Lionel DebrouxLe 11/02/2008 à 08:25
Pour les "grandes" librairies graphiques maintenues et utilisables, il ne reste en effet plus qu'ExtGraph et Genlib.
Même si leurs fonctionnalités se recoupent évidemment, et que Genlib est une souce d'inspiration pour ExtGraph, elles n'occupent pas le même "segment" de "marché". En gros:
* Genlib: lib dynamique kernel-based, philosophie principale "une routine pour plusieurs usages" (philosophie qui vient largement du fait que c'est une lib dynamique, pour laquelle le footprint sur la calculette doit être aussi limité que possible);
* ExtGraph: lib statique neutre (même si personne ne doit l'utiliser en kernel-based grin), philosophie principale "une routine pour un usage".


> ExtGraph ne m'a pas vraiment convaincu, cela simplifie l'utilisation des niveaux de gris mais la fonction FastScreenCopy censée accélérer le double buffering
FastCopyScreen(_R) n'accélère pas le double buffering.
FastCopyScreen(_R) fait de la copie bourrine de plans, sans synchronisation avec les routines de grayscale. C'est pas pareil grin
Le vrai "bon" doublebuffering se fait avec les fonctions fournies par les routines de grayscale, et il peut même être plus rapide que l'utilisation de FastCopyScreen(_R), puisqu'il n'y a pas double copie des données.

> n'est pas plus rapide qu'un memcopy.
Si. Vu les instructions qu'utilise FastCopyScreen(_R) (pour transférer 32 bits, 8 clocks + l'overhead du décodage de l'instruction movem.l), et vu celles qu'utilise memcpy (pour transférer 32 bits, 12 clocks + l'overhead du décodage de l'instruction move.l), FastCopyScreen(_R) est plus rapide que memcpy. Ton bench est certainement faux.