Parcourir la chaîne pour avoir la longueur, c'est vraiment trivial. Je ne pense vraiment pas que ça ait vraiment une influence sur la vitesse - c'est assez négligeable comme temps par rapport au temps mis pour l'affichage.
Il ne me semble pas que nous t'ayons interdit d'intégrer les routines clippées à ExtGraph. En plus, je te signale que Thomas en a fait (c'est sûr, il faut être au courant).
Mais tu n'aideras pas ExtGraph: tu es bien trop attaché à ta petite lib propriétaire !
Thibaut: tu as optimisé GX_DrawStr depuis la version du 18 août ?
Non, elle est assez rapide à mon goût. Si un utilisateur a besoin de plus rapide, je le ferai.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Zeph Le 13/09/2002 à 19:40Edité par Boo le 13/09/2002 à 19:42 G rien dit j'avais mal lu...

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
XDanger : tu as comparé ce qui est comparable au moins ? c'est à dire que tu as bien comparé la fonction de GraphX avec la fonction correspondante de la TICT ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
TiMad Le 15/09/2002 à 12:31 ZLib rulez!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
120 ko ?
houla ! ça fait bcp !
j'en suis à 70ko pour KII, en comptant les Vscreen (Gplan et autres), les gfx...
(pas compté le relogement du prog là dedans)
Voici le bench, que Joël et Kevin connaissent.
(L'émulation de FiftyMsecTick sur AMS 1.xx n'est pas postée, pas plus que le source de la routine de TICT qui de toute façon est public).
void _main(void)
{
unsigned short i=0;
unsigned long t1,t2;
ClrScr();
OldInt5 = GetIntVec (AUTO_INT_5);
SetIntVec (AUTO_INT_5, MyInt5);
OSSetSR(0x0400);
t1=FiftyMsecTick;
for(i=0;i<1000;i++)
{
__DrawLittleString__(0,0,"ABCDEFGHIJ0123456789",LCD_MEM);
// __DrawString__(0,0,"ABCDEFGHIJ0123456789",LCD_MEM,F_4x6); // Version moins optimisée qui gère les trois polices, mais cette version reste plus
// rapide que GX_DrawStr (33 ticks environ)...
}
t2=FiftyMsecTick;
printf_xy(0,10,"%lu",t2-t1); // 30 ticks environ
OSSetSR(0x0400);
t1=FiftyMsecTick;
for(i=0;i<1000;i++)
{
GX_DrawStr(LCD_MEM,0,20,"ABCDEFGHIJ0123456789",FALSE);
}
t2=FiftyMsecTick;
printf_xy(0,30,"%lu",t2-t1); // 42 ticks environ
short f=FontGetSys();
FontSetSys(F_4x6);
OSSetSR(0x0400);
t1=FiftyMsecTick;
for(i=0;i<1000;i++)
{
DrawStr(0,40,"ABCDEFGHIJ0123456789",A_NORMAL);
}
t2=FiftyMsecTick;
printf_xy(0,50,"%lu",t2-t1); // 380 ticks environ
FontSetSys(f);
GKeyIn(NULL,0);
SetIntVec (AUTO_INT_5, OldInt5);
GKeyFlush ();
}
Et tu n'as pas répondu à ma question: "Sous quel format sont stockés tes sprites de police (2 lignes de 4 pixels par octet, ou une seule) ?"
J'aimerais en savoir un peu plus sur tes fonctions, ça serait sympa de ta part de me répondre pour que je n'aie pas à passer du temps à désassembler le programme.

Squale92>ben tu comme moa pour kirby!!
Les données dans des lib read only et non compressé!
Tu gagne de la ram de cette facon!
Petite question!
Le format DLL est tres bien mais on pourrait pousser le systeme un peu plus loin!
Comme le dit kevin,Les DLL nes sont pas concu pour des appels frequents et tu es obliger de la charger entiere en ram!
Mais une autre solutions est possible (je bosse dessus)
On ne charge les que les fonction necessaire!Et on les decharge quand on juge qu'il faut les decharger!
Du genre on alloue un tableau de pointeur intialement a NULL
Chaque pointeur est une fonction!
Si le pointeur est a NULL le fonction n'a pas encore été chargé et il faut la charger!
Sinon ben elle est chargé et utilisable!
etc..
Il est vrai que programmer avec ce systeme ajoute une contrainte de plus mais je le trouve innovateur et en reflechissant bien un peu on peut obtenir kelkechose de correcte et même utilisable avec des appels frequent (la on charge la fonction frequemment utilisé et on la decharge qu'a la fin du programme)
Kevin qu'en pense tu!
Je vais essayer de l'implementer!!!!
Si dieux existe alors Armin van Buuren en est 1!!
Pour me contacter sur msn:mastergb@hotmail.com