:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Forums Hébergés :: > OldSchool Library > Aide au développement

Aide au développement Aide sur l'utilisation d'OSLib

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 24/07/2007, 21h38   #1
daaa57150
Membre confirmé
 
Date d'inscription: 16/05/2007
Messages: 411
Voir l'identifiant PSN
Par défaut Mémoire

Salut,

Hé oui encore moi avec toutes mes questions, je ne désespère pas

Voilà ce coup ci je me suis heurté à un bug sorti du chapeau, je pense que j'ai atteint la limite de la mémoire RAM de la PSP...
En effet, tout allait bien et je décide d'ajouter un son à mon programme, je l'ajoute simplement comme ceci :
Code PHP:
m_snd_select=oslLoadSoundFileBGM("res/sounds/sfx/main_menu_select.bgm"OSL_FMT_NONE); 
exactement comme j'ai fait avec les autres.
Je compile, je lance le bordel, et là, freeze. Si je commente la ligne, pas de problème, ca refonctionne, et si je fait un programme à part avec tous mes sons ca marche aussi.
Je me dis que c'est donc une question de mémoire non disponible n'est ce pas?

Du coup, j'ai quelques questions optimisation/observation de la mémoire:
- Si je charcge une image en OSL_PF_5551 ca prend moins de mémoire qu'en OSL_PF_8888?
- Le format bgm est-il + ou - gourmand que le wav 44000hz 16bits mono?
- Comment connaitre la mémoire disponible? La mémoire utilisée?

merci!
daaa57150 est déconnecté   Réponse avec citation

Publicité

Vieux 24/07/2007, 22h02   #2
Brunni
Super Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 226
Par défaut

Le BGM est moins gourmand. Tu peux utiliser OSL_FMT_STREAM pour faire du streaming, c'est un peu plus lent mais tu gagnes énormément en mémoire.
Le 5551 (16 bits) prend moins de mémoire que le 8888 (32 bits).
Pas moyen de savoir combien de mémoire libre il reste :/
Brunni est déconnecté   Réponse avec citation
Vieux 25/07/2007, 09h25   #3
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Vi, le BGM se streame très bien, mieux vaut mettre en RAM que des petits wav utilisés très souvent

Et +1 quand à l'absence d'un vu-mètre sur l'occupation mémoire, étonnant que depuis le temps le sdk n'en ai aucun... soit ca intéresse personne, soit c'est impossible à faire ?
Yodajr est déconnecté   Réponse avec citation
Vieux 25/07/2007, 16h55   #4
daaa57150
Membre confirmé
 
Date d'inscription: 16/05/2007
Messages: 411
Voir l'identifiant PSN
Par défaut

merci pour vos réponses!

Citation:
Envoyé par Brunni Voir le message
Le BGM est moins gourmand. Tu peux utiliser OSL_FMT_STREAM pour faire du streaming, c'est un peu plus lent mais tu gagnes énormément en mémoire.
Le 5551 (16 bits) prend moins de mémoire que le 8888 (32 bits).
Pas moyen de savoir combien de mémoire libre il reste :/
J'utilise effectivement OSL_FMT_STREAM mais uniquement pour la musique, les autre je les charge, il faut que ca sorte sans latence (ils sont très petits, entre 3 et 7 ko).

Citation:
Envoyé par Yodajr Voir le message
Vi, le BGM se streame très bien, mieux vaut mettre en RAM que des petits wav utilisés très souvent

Et +1 quand à l'absence d'un vu-mètre sur l'occupation mémoire, étonnant que depuis le temps le sdk n'en ai aucun... soit ca intéresse personne, soit c'est impossible à faire ?
Je suppose que c'est impossible? Sinon ca existerait, c'est tellement utile...

Je me demande quand même combien la PSP nous laisse de mémoire pour programmer? Je n'ai pas tant de ressources que ca:
l'exécutable 850ko, quelques images png 220 ko, des sons 30ko, une musique streamée de 2.6Mo et quelques images générées pour les textes.
C'est quand même pas énorme je trouve.
J'ai peut être un autre problème car en compilant sur un autre PC ca a fonctionné (il me fabrique toujours des exécutables avec 20ko de moins, avec le même code!). J'ai diminué un peu les exigences des images (32->16bits) on verra demain si ca marche.
daaa57150 est déconnecté   Réponse avec citation
Vieux 25/07/2007, 17h42   #5
Brunni
Super Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 226
Par défaut

De toute façon ce n'est pas normal que ça plante. Si tu n'as pas assez de mémoire ou que le fichier n'a pas pu être chargé pour une quelconque raison, ça ne devrait pas planter mais retourner NULL (cf les exemples). Tu peux ensuite checker ça en faisant if (!taMusique) erreur(...
Par contre si tu fais oslPlaySound(taMusique, ...) et que ta musique est NULL, alors là oui ça va planter, c'est normal. Essaie de contrôler où est-ce que ça plante au juste.
Pour te répondre tu as 20 Mo de RAM en gros, et là tu en es loin, donc le problème ne vient sûrement pas de là, c'est possible que ce soit ton fichier son qui est corrompu, ou qu'il y ait un bug avec OSLib. Ce serait sympa de ta part si tu arrivais à isoler le problème (trouver un bout de code aussi petit que possible qui fasse planter).
Pour la mémoire restante me l'a assez répété, le faire je vais devoir. Je n'aime pas trop ça parce qu'il n'y a pas de moyen propre (que je connaisse) de faire ça. Il faut essayer de la remplir entièrement et voir combien on a pu mettre.

Dernière modification par Brunni ; 25/07/2007 à 17h48.
Brunni est déconnecté   Réponse avec citation
Vieux 26/07/2007, 10h53   #6
daaa57150
Membre confirmé
 
Date d'inscription: 16/05/2007
Messages: 411
Voir l'identifiant PSN
Par défaut

Citation:
Envoyé par Brunni Voir le message
De toute façon ce n'est pas normal que ça plante. Si tu n'as pas assez de mémoire ou que le fichier n'a pas pu être chargé pour une quelconque raison, ça ne devrait pas planter mais retourner NULL (cf les exemples). Tu peux ensuite checker ça en faisant if (!taMusique) erreur(...
tout à fait, je vais faire ca de ce pas.

Citation:
Envoyé par Brunni Voir le message
Pour te répondre tu as 20 Mo de RAM en gros, et là tu en es loin, donc le problème ne vient sûrement pas de là, c'est possible que ce soit ton fichier son qui est corrompu, ou qu'il y ait un bug avec OSLib. Ce serait sympa de ta part si tu arrivais à isoler le problème (trouver un bout de code aussi petit que possible qui fasse planter).
J'en ai bien l'intention, je posterai mon résultat dès que j'ai trouvé.

Citation:
Envoyé par Brunni Voir le message
Pour la mémoire restante me l'a assez répété, le faire je vais devoir. Je n'aime pas trop ça parce qu'il n'y a pas de moyen propre (que je connaisse) de faire ça. Il faut essayer de la remplir entièrement et voir combien on a pu mettre.
Eurk j'y ai aussi pensé, et je suppose que c'est comme ca que luaplayer s'y prend? Car il y a une fonction pour vérifier la mémoire restante dans luaplayer.
daaa57150 est déconnecté   Réponse avec citation
Vieux 27/07/2007, 10h33   #7
daaa57150
Membre confirmé
 
Date d'inscription: 16/05/2007
Messages: 411
Voir l'identifiant PSN
Par défaut

Bon j'ai travaillé 2 jours sur le PC de la maison et donc beaucoup de code a changé. Du coup de retour sur le PC habituel, tout fonctionne... Si je retombe sur un bug du genre je débogue directement.
daaa57150 est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



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

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h05.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince