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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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) ;
Partager