pixels ou SDL_surface 8 bits?
Bonjour,
j'ai posté récemment un petit projet c++ pour afficher le mandelbrot.
Mon problème, c'est que je calcul l'image à 60 FPS, alors qu'elle s'affiche à 15FPS seulement.
Je pense que c'est parce que pour chaque pixel, je blitte une surface rgb 32 bits de taille 1x1.
J'ai cru comprendre qu'on pouvait colorer les pixels à la main, ou utiliser du rgb 8 bits pour aller plus vite.
Dans les deux cas (et plus particulièrement le deuxième), je ne sais pas comment faire.
Pourriez vous m'aider svp?
Pour l'instant ça se passe comme ça :
Code:
1 2 3 4 5 6
|
// allocation des surfaces
SDL_Surface** surfaces = (SDL_Surface**) malloc(size*sizeof(SDL_Surface*)) ;
for (int i = 0 ; i < size ; ++i) {
surfaces[i] = SDL_CreateRGBSurface(SDL_HWSURFACE, 1, 1, 32, 0, 0, 0, 0);
} |
Code:
1 2 3 4 5
|
// blit de la surface mid [qui est un indice de boucle parcourant tout l'écran]
// zou est une structure contenant mes couleurs rgb
SDL_FillRect(surfaces[mid], NULL, SDL_MapRGB(ecran->format, zou.red, zou.green, zou.blue));
SDL_BlitSurface(surfaces[mid], NULL, ecran, &Position) ; |