:: PlayerAdvance.org ::  

Pr嶰嶮ent   :: PlayerAdvance.org :: > :: Forums H嶵erg廥 :: > 無ibrary

無ibrary Official 無ibrary forum (English / Fran蓷is)

Publicit

R廧onse
 
Outils de la discussion Modes d'affichage
Vieux 02/10/2009, 23h43   #1
Programixi
Newbie
 
Date d'inscription: 02/10/2009
Messages: 3
Par d嶨aut uLib leaks memory

Hi, sorry for speaking English but there is no other forum for uLib where I could post this . I think I found a bug in uLibrary in loading PNG images. It leaks memory. When I create a image, then delete it, it leaks every time 520 bytes (in my case). I can send you an example if you wish. It's not very much but in my game it can crash very soon. Please, do you have any solution for this?
It really stops me from developing my game
PLEASE!!!!!
Programixi est d嶰onnect   R廧onse avec citation

Publicit

Vieux 04/10/2009, 21h36   #2
Programixi
Newbie
 
Date d'inscription: 02/10/2009
Messages: 3
Par d嶨aut

Ok, so I solved it myself
Commenting "if (img->palState == UL_STATE_RAM_BLOCK) {"
in function ulRealizeImage (at line 413) seems to fix that.
I didn't tested it at any other kind of graphics then 256 color palette but with that it works great. But I DIDN'T tested it at any other kind!!!
Now the complete function is like this :
Code:
//Copie une image en VRAM pour qu'on puisse l'utiliser

int ulRealizeImage(UL_IMAGE *img)		{

	int textureID, success = 0;

	if (img->texture /*&& img->textureID == -1*/ && img->imgState != UL_STATE_VRAM)			{

	   int texGen = TEXGEN_TEXCOORD | GL_TEXTURE_COLOR0_TRANSPARENT;

	   if (ul_firstPaletteColorOpaque == 2)

		   texGen &= ~GL_TEXTURE_COLOR0_TRANSPARENT;



		//Si une texture existe d嶴, on la supprime

		if (img->textureID != -1)		{

			int texID = img->textureID;

			ulFreeTextures(1, &texID);

		}

		ulGenTextures(1, &textureID);

		ulBindTexture(0, textureID);

		if (ulTexImage2D(0, 0, img->format, img->sizeX, img->sizeY, 0, texGen, (u8*)img->texture))			{

			//Lib鋨e si on n'en a plus besoin

			if (img->imgState == UL_STATE_RAM_BLOCK)			{

				free(img->texture);
				//free(img->palette);

			}

			img->texture = NULL;

			//Syst鋗e

			img->textureID = textureID;

			img->imgState = UL_STATE_VRAM;

			success = 1;

		}

	}



	//Ne continue que si le premier a r徼ssi

	if (success)			{

		if (img->palette /*&& img->paletteID == -1*/ && img->palState != UL_STATE_VRAM)			{
			

			//Si la palette existe d嶴, on la supprime

			if (img->paletteID != -1)			{

				uluTexUnloadPal(img->paletteID);
			}

			//Aligner la taille  2

			if (img->palCount & 1)

				img->palCount++;

			img->paletteID = uluTexLoadPal(img->palette, img->palCount, img->format);

			if (img->paletteID >= 0)			{
				img->palState = UL_STATE_VRAM;

				//Lib鋨e si on n'en a plus besoin

				//if (img->palState == UL_STATE_RAM_BLOCK)			{

					free(img->palette);
					//while(1);

				//}

				img->palette = NULL;

				success = 1;

			}

		}

	}

	return success;

}
Hope it helps if anyone had same problem as me
Programixi est d嶰onnect   R廧onse avec citation
Vieux 04/10/2009, 22h23   #3
Brunni
Super Mod廨ateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 226
Par d嶨aut

Ok, I'll take a look. Thanks for sharing
Brunni est d嶰onnect   R廧onse avec citation
Vieux 05/10/2009, 11h39   #4
Programixi
Newbie
 
Date d'inscription: 02/10/2009
Messages: 3
Par d嶨aut

I'm glad I could help!
Programixi est d嶰onnect   R廧onse avec citation
R廧onse

Liens sociaux

Publicit



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invit(s))
 
Outils de la discussion
Modes d'affichage

R銶les de messages
Vous ne pouvez pas cr嶪r de nouvelles discussions
Vous ne pouvez pas envoyer des r廧onses
Vous ne pouvez pas envoyer des pi鋃es jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activ嶪s : oui
Les smileys sont activ廥 : oui
La balise [IMG] est activ嶪 : oui
Le code HTML peut 皻re employ : non
Navigation rapide

Discussions similaires
Discussion Auteur Forum R廧onses Dernier message
無ibrary R廥olu memory leaks during multiple image loading kewnt 無ibrary 3 17/07/2008 12h21
PSP Memory Stick - Prix - Actualit Miles teg Mat廨iel 117 28/06/2008 00h00
Memory card Game Cube camu76600 Discussions Sur Les Autres Consoles 7 13/01/2007 12h20
GBA Mode0 + OAM Memory Exceed Swell Aide au d憝eloppement 5 12/04/2006 19h21


Fuseau horaire GMT +2. Il est actuellement 15h35.


丼it par : vBulletin® version 3.7.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Tous droits r廥erv廥.
Version fran蓷ise #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince