Vark Le 10/07/2002 à 18:10 d'après mes tests le pb se situe au niveau de la lecture du sprite ...
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & sabrina
du bas vers le haut ?
à quoi ça va te servir ?
Vark Le 10/07/2002 à 19:46 je m'adressais à fluid
et x_lib à ce qu'iol me semble ne gère tjrs pas les sprites 32*32 !!!!
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & sabrina
TiMad Le 10/07/2002 à 19:51 dessiner un sprite en partant du bas sera toujours plus lent qu'en partant du haut.
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
TiMad Le 10/07/2002 à 22:47 tu peux tres bien faire du clipping en commencant par le haut...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
Mais le clipping sur les côtés, surtout, il faut faire comment ?
(sans utiliser d'écran virtuel plus large, enfin sauf si vraiment plus rapie comme ça)
Vark Le 10/07/2002 à 22:53 le clipping sur les côtés y'a pas le choix, fo obligatoirement passer par un écran plus large je pense
je c comment faire mais bon, je doute de la rapidité de mes futures fonctions de copie/effaçage d'écrans virtuel
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & sabrina
TiMad Le 10/07/2002 à 23:03 t'es pas obligé de passer par un ecran plus large..
if (x<0 && x>-16)
{
unsigned long *Xplan = LCDMEM + y<<5-y-y + x>>3;
(*Xplan)=(*sprite++)<<(-x);
(*Xplan+30)=(*sprite++)<<(-x);
(*Xplan+60)=(*sprite++)<<(-x);
(*Xplan+90)=(*sprite++)<<(-x);
...
}
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
Et c'est plus rapide qu'avec un écran virtuel plus large ?
TiMad Le 10/07/2002 à 23:14 c'est partit...
if (x<0 && x>-16) // condition de clipping gauche...
{
unsigned long *Xplan = LCDMEM + y<<5-y-y; //: position sur l'écran.. une erreur de corrigée.
(*Xplan)|=(*sprite++)<<(-x); // il y avait une petite erreur....
(*Xplan+30)|=(*sprite++)<<(-x); // on decale le sprite de 1 vers la gauche si on a x=-1...
(*Xplan+60)|=(*sprite++)<<(-x); // 30= largeur du Xplan...
(*Xplan+90)|=(*sprite++)<<(-x);
...
}
a note que niveau optimisation, il vaut mieux faire:
if (x<0)
{
if (x>-16)
{
}
// on fais rien sinon...
}
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
Vark Le 10/07/2002 à 23:17 et g pas bien suivit avec les posts croisés ... c rapide ou pas ?
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & sabrina