Bonsoir,

Je me permets de poster ce message ici, car je viens de remarquer que mon programme dispose d'une forte propension à prendre le maximum de place possible (gain de 1 mo par 20 sec je dirais).

J'ai réussi à isoler une partie de code, qui permet de totalement stabiliser le programme (à 1.4 mo). Donc sauf erreur, il est très fortement probable que l'erreur se situe dans ces lignes ?

Je vous poste le code, personnellement je ne vois pas ce qui cloche, si vous pouviez m'aider, je vous en seras reconnaissant (:

Merci bien !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 68 void GraphicalEngine::displayGfxText(std::string text, int fontcode, int colorcode, int x, int y){                                                                                                       
   69     /* Check first if fontcode and colorcode exists */
   70     if (text.length() > 0 && (fonts.find(fontcode) != fonts.end()) && (colors.find(colorcode) != colors.end())){
   71         SDL_Surface* textSurface = TTF_RenderText_Solid(fonts[fontcode], text.c_str(), *colors[colorcode]);
   72         if (textSurface){
   73             SDL_Rect position;
   74             position.x = x;
   75             position.y = y;
   76             if (SDL_BlitSurface(textSurface, NULL, screen, &position) < 0){
   77                 std::cout << "Graphical engine : Error in blitsurface in displayGfxText() " << SDL_GetError() << std::endl;
   78             }
   79         }
   80         else std::cout << "Graphical engine : Error during text render" << std::endl;
   81         delete textSurface;
   82     }
   83     else std::cout << "Graphical engine : Error in colorcode / fontcode for displayGfxText() " << std::endl;
   84 }