Allocation dynamique d'un fichier en SDL

atefth Messages postés 3 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 31 juillet 2013 - 28 mars 2012 à 02:51
atefth Messages postés 3 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 31 juillet 2013 - 28 mars 2012 à 16:23
Salut:
Mon probléme est que j'ai un programme SDL qui utilise enormement de la mémoire.
Je pensais alors :
D'utiliser une allocation dynamique pour mes fichiers ,car ce programme contient plusieurs images . :p
Est ce que je peux faire une allocation dynamique pour un fichier et le supprime de la mémoire le temps que je veux utiliser un autre ?

ET merci d'avance

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
28 mars 2012 à 10:21
Bonjour.

Ta question est franchement incompréhensible... Pourrais-tu le reformuler et expliquer clairement ton problème ?

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
atefth Messages postés 3 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 31 juillet 2013
28 mars 2012 à 16:04
Bon , je veux créer un message qui bouge de bas vers le haut dans une fenêtre SDL pour cela j'utilise SDL_ttf je Blite ce message phrase par phrase et chaque fois je change les coordonnées de ma Surface puis je Blite l'arrière plan et refaire ces etapes en utilisant une boucle While ,l'entrée de texte est un fichier, mais je trouve que ce petit programme consomme enormement la mémoire , je pense que c'est a cause des images qui sont encore dans la mémoire en plus a chaque fois j'ouvre le fichier, même avec SDL_FreeSurface() ça marche pas

voila ma boucle while :

while (continuer)
{
SDL_PollEvent(&event) ;
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
}
/* read */

while (!feof(P_FICHIER))
{
fscanf(P_FICHIER, "%s\n", ph);
SDL_Surface *texte=0;
SDL_FreeSurface(texte);
texte = TTF_RenderText_Blended( fonttest, ph, fontColor );
SDL_Rect textePosition;
textePosition.x=400;
textePosition.y=k;
SDL_BlitSurface(texte, NULL, screen,&textePosition);

k=k+40; // creer un espace entre deux phrases


}


f=f-1; // bouger la surface contenant tout le message
k=f;
if ( f<-500) // retoure en bas
{ // si le texte
f=620; // sort de la
k=620; // fenêtre
}
SDL_Flip( screen );
SDL_BlitSurface( start, NULL, screen, NULL );

rewind(P_FICHIER);
}
0
atefth Messages postés 3 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 31 juillet 2013
28 mars 2012 à 16:23
bah , merci j'ai trouvé la faute c'est a cause de "SDL_Surface *texte=0 " il faut le mettre en dehors de boucle while
0
Rejoignez-nous