Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Moteurs de jeux vidéo > XNA
XNA Forum d'entraide sur le développement avec XNA
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/09/2012, 16h19   #1
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Par défaut Out of memory. XBOX

Bonjour, j'obtiens l'exception out of memory sur mon jeu xna.

Juste avant je print GC.GetTotalMEmory(false) et j'obtiens

5383696

Ca me semble bien peu pour trigger cette exception...

Quelqu'un a t-il deja eu cette exception?

Merci =)
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 08h31   #2
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 414
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 414
Points : 39 719
Points : 39 719
Bonjour,

Avez vous des précisions sur la ligne qui provoque le OutOfMemory ?

Il se peut que ce soit un OUt of Memory des ressources graphiques. Je pense que GetTotalMEmory() ne s'occupe que de l'allocation en RAM et non sur la carte graphique.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 10h16   #3
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Bonjour, de mémoire c'est soit sur des assets soit sur des fichiers xml de conf.

Mais dans tous les cas c'est lors du chargement.

J'utilise aussi un système de spritesheet, je peux avoir des texture de 3000x3000 environ.
Et j'ai vu que des gens avaient cette erreur parfois avec des grosses textures aussi.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 10h41   #4
_MAID
Membre éclairé
 
Avatar de _MAID
 
Homme
Game developer
Inscription : novembre 2010
Messages : 166
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Game developer

Informations forums :
Inscription : novembre 2010
Messages : 166
Points : 329
Points : 329
Citation:
Envoyé par saturn1 Voir le message
je peux avoir des texture de 3000x3000 environ.
Et j'ai vu que des gens avaient cette erreur parfois avec des grosses textures aussi.
Attention, toutes les carte vidéo ne savent pas gérer des textures aux résolutions supérieur à 2048x2048
_MAID est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 10h50   #5
screetch
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
aussi, 3000*3000 ca fait 9 megas, et si tu stockes des couleurs dedans (4 octets) on monte a 36 megas. Or, il faut trouver non pas 36 megas mais 36 megas *contigus* en memoire, ca peut pafois etre mission impossible.
  Envoyer un message privé Réponse avec citation 10
Vieux 03/09/2012, 11h12   #6
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Bonjour oui je me disais bien que c'était un problème de mémoire contigu.

Par contre le Gc.GetTotalMemory devrait afficher plus de 5Mo lorsqu'il plante...

Etrange :s

Merci pour votre aide.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 13h59   #7
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 414
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 414
Points : 39 719
Points : 39 719
Citation:
Envoyé par saturn1 Voir le message
Bonjour oui je me disais bien que c'était un problème de mémoire contigu.

Par contre le Gc.GetTotalMemory devrait afficher plus de 5Mo lorsqu'il plante...

Etrange :s

Merci pour votre aide.
Pas s'il ne prend pas en compte la mémoire vidéo. Car d'après moi, le garbage collector n'est lié qu'à la mémoire vive (celle qui n'est pas vidéo).

Et puis, il faut aussi faire attention avec les tailles de texture qui ne sont pas en puissance de deux. Il se peut que la carte ne la supporte pas et en plus, c'est souvent plus lent à gérer.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 15h40   #8
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Salut, il me semble avoir lu que la xbox a 512Mb de ram pour (la vidéo et le reste) - la mémoire utilisé par le système.

Après je ne sais pas très bien comment je peux optimiser ou afficher la mémoire vidéo...

Je vais tester en puissance de deux et avec des textures plus petites.

Mais bon je me vois mal loader des textures au runtime pour les déloader ensuite...(la xbox est vraiment lente même avec des threads)

Aussi je vais compresser toutes les textures en DXT.

Merci, d'autres conseils sont les bienvenus.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2012, 16h09   #9
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Je me permet de re upper, car je plante sur la xbox avec 10Mo alloue je ne comprend vraiment pas car elle possédé 512 Mo de ram en tout.

Merci pour d’éventuels retours.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2012, 17h52   #10
MoDDiB
Membre chevronné
 
Homme
Développeur de jeux vidéo
Inscription : février 2006
Messages : 449
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur de jeux vidéo
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2006
Messages : 449
Points : 695
Points : 695
réduis la résolution de tes textures à 1024x1024 max et regarde ce qu'il se passe.
__________________
Suivez le développement de Chibis Bomba
twitter : https://twitter.com/MoD_DiB
DevBlog : http://moddib.blogspot.fr/
MoDDiB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h03.


 
 
 
 
Partenaires

Hébergement Web