Ton programme devrait meme pas marcher. Je sais pas si t'as conscience du fait que tu alloues une qté de mémoire monstrueuse dans ta pile:
Uint16 color[1024*768]; ce qui représente plus d'1Mo. Donc ton programme devrait crasher directement.
Dans le cas 2, tu fais moisn de calcul, donc ca va plus vite. Logique implacable en info.
Mais je comprends pas pk tu passes par un tableau intermédiaire. Cette version irait encore plus vite:
for (k = 0; k < 80; k++)
{
co1 = rand() % 255;
co2 = rand() % 255;
co3 = rand() % 255;
Tout simplament par cs que je fais comme si je calcule une image pixel par pixel.for(x 0; x < RX; x++) for (y 0; y< RY, y++) ptr[RX*y+x] = couleur_corespondant[RX*y+x];
mon objectif est de pouvoir fair une comande:
void dot( int x, int y, unsigned int color);
dout
//TEMP 1
for (k = 0; k < 80; k++)
{
co1 = rand() % 255;
co2 = rand() % 255;
co3 = rand() % 255;
Uint16 rgb = SDL_MapRGB(ecran->format, co1, co2, co3);
for (i=0; i<1024 ; i++)
{
for (j=0; j<768 ; j++)
{
l = j*1024 + i;
color[l] = rgb;
}
}