En effet quand je lance mon programme, avant de faire le bench, j'efface l'ecran avec clrscr..et j'affiche une phrase (bench go) or il se trouve que: soit l'ecran ne s'efface pas , soit il s'efface qu'a moitie soit il sefface completement.. et la phrase, niette..
bisard non...
voici l'extrait de la source:
INT_HANDLER oldint7 = NULL; INT_HANDLER oldint6 = NULL; INT_HANDLER oldint5 = NULL; volatile int mseconds50 =0; volatile short count; DEFINE_INT_HANDLER (myint5handler) { mseconds50--;} DEFINE_INT_HANDLER (myint7handler) { } DEFINE_INT_HANDLER (myint6handler) { } unsigned short vaisseau[]={ 0x180, 0x180, 0x240, 0x240, 0x240, 0x240, 0x5A0, 0x7E0, 0xBD0, 0x2BD4, 0x33CC, 0x27E4, 0x4C32, 0xD99B, 0xDA5B, 0x7C3E}; //sprite teste unsigned char S8[] = { 170,170, //... 170,170 }; void bench() { unsigned long k=0; clrscr(); DrawStr(0,90,"Bench GO!",A_NORMAL); oldint5 = GetIntVec(AUTO_INT_5); SetIntVec(AUTO_INT_5, myint5handler); oldint6 = GetIntVec(AUTO_INT_6); SetIntVec(AUTO_INT_6, myint6handler); oldint7 = GetIntVec(AUTO_INT_7); SetIntVec(AUTO_INT_7, myint7handler); asm(" movem.l %d0,-(%a7) move.w #400,%d0 TRAP #1 movem.l (%a7)+,%d0 ") Teste=XNewGPlan(); XClrGPlan(Teste); k=0; mseconds50 =20; while (mseconds50) { ///////////////////////////////////////// XGSprite16x16(0,20,S8,Teste); ///////////////////////////////////////// k++; k++; } printf_xy(10,0,"R1: %ld /s",k); k=0; mseconds50=20; while (mseconds50) { ///////////////////////////////////////// XGSprite16x16(14,20,S8,Teste); ///////////////////////////////////////// k++; } printf_xy(10,10,"R2: %ld Sp",k); k=0; mseconds50=20; while (mseconds50) { ///////////////////////////////////////// XGSprite16x16(20,40,S8,Teste); ///////////////////////////////////////// k++; } printf_xy(10,20,"R3: %ld Sp",k); k=0; mseconds50=20; while (mseconds50) { XGSpriteM16x16(26,80,S8,Teste); k++; } printf_xy(10,30,"R3: %ld Sp",k); ngetchx(); // for (k=0;k<17;k++) XGSpriteM16x16(k,k,S8,Teste); // XGSpriteM16x16(10,19,S8,Teste); for (k=0;k<239;k++) XPxlPut(k,125,12,Teste); XCpyGPlanToLCD(Teste); SetIntVec(AUTO_INT_5, oldint5); SetIntVec(AUTO_INT_6, oldint6); SetIntVec(AUTO_INT_7, oldint7); asm(" movem.l %d0,-(%a7) clr.w %d0 TRAP #1 movem.l (%a7)+,%d0 ") XDestrGplan(Teste); ngetchx(); }
Si qqn peut m'expliquer ce myster....