:: 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/05/2007, 13h32   #1
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Cf ma signature pour quelques tutos
Yodajr est déconnecté   Réponse avec citation

Publicité

Vieux 24/05/2007, 15h55   #2
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
Merci
Hmm... bizarre ton problème, tu arrives quand même à charger des images?
[Edit] Bon en fait y'avait un bug, merci
Ah ben de rien alors, bizarre que ca n'ait gêné que moi ?? Enfin je suis content que ca ne vienne pas de mon install parce que j'ai bien galéré quand même (j'utilise ta lib sous Eclipse + plugin CDT + cygwin + pspsdk etc...).

Citation:
Envoyé par Yodajr Voir le message
Cf ma signature pour quelques tutos
Je les ai déjà tous lus, et c'est en partie ce qui m'a fait choisir oslib! merci!

Par contre je crois pas que ca parle de "swizzling", qui est un concept que je n'ai pas totalement compris (qu'est ce qu'on peut pas faire exactement)? Faudrait aussi un tuto sur la VRAM, j'ai pas tout compris non plus à ce niveau. Mais bon je débute avec tout ca et je me perd un peu dans la masse d'info à digérer.

[edit] pardon pour le double post je pensais qu'il y avait un auto-merge.

Dernière modification par Bobby Sixkilla ; 24/05/2007 à 16h56.
daaa57150 est déconnecté   Réponse avec citation
Vieux 24/05/2007, 17h09   #3
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Pour faire simple, "swizzler" une image, c'est l'optimiser. Son affichage sera plus rapide, ca accelerera également des manipulations comme la rotation.
Mais du coup l'image ne sera plus modifiable après
D'après des sources sûres ( ) les prochaines versions d'oslib intégreront le "swizzlage" automatique pour plus de simplicité (il faudra donc "deswizzler" pour modifier une image)
Mais si tu utilise toujours la version 1.00, regarde la doc ainsi que les sources de mon tuto maps pour la syntaxe.

La VRAM aussi c'est pour aller plus vite : une image en VRAM s'affiche plus vite, bla bla bla... mais c'est délicat à manier car faute de gestionnaire, la gestion des images en VRAM doit etre réfléchie (plus d'explications dans la doc)
Avec oslib 1.00 tu doit obligatoirement choisir dès le chargement l'emplacement choisi, mais avec la 2.00 on peut faire le transfert à tout moment

Enfin, tu dit que tu débute, donc à mon avis c'est pas trop urgent de maitriser tout ca tout de suite, met la priorité sur les fonctions de base avant de penser optimisation (enfin c'est comme ca que je vois les choses )
Yodajr est déconnecté   Réponse avec citation
Vieux 24/05/2007, 17h48   #4
Brunni
Super Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
Par défaut

Petite précision au niveau de la VRAM: la version 2.00 a un gestionnaire donc plus de souci, par contre le problème c'est que la VRAM est beaucoup plus petite que la RAM (2 Mo, dont plus du quart à plus de la moitié utilisée rien que pour l'écran lui même - donc pas dispo).
En fait il faut utiliser la VRAM dans les cas suivants:
- la VRAM a l'avantage d'être plus rapide sur les images non swizzlées (donc uniquement des images que vous devez modifier fréquemment, sinon c'est mieux de les swizzler et les laisser en RAM)
- il est uniquement possbile de faire un oslSetDrawBuffer sur des images en VRAM.
Sinon par défaut c'est mieux d'utiliser la RAM et laisser cette précieuse VRAM pour des cas bien particuliers
Brunni est déconnecté   Réponse avec citation
Vieux 24/05/2007, 19h34   #5
daaa57150
Membre confirmé
 
Date d'inscription: 16/05/2007
Messages: 411
Voir l'identifiant PSN
Par défaut

Citation:
Envoyé par Yodajr Voir le message
Pour faire simple, "swizzler" une image, c'est l'optimiser. Son affichage sera plus rapide, ca accelerera également des manipulations comme la rotation.
Mais du coup l'image ne sera plus modifiable après
Le point sur lequelle je bute est la définition de "modifiable" justement. Tu dis qu'on peut lui appliquer une rotation mais pas la modifier, pourtant on la tourne donc on la modifie.. Peut être modifier = dessiner dessus? Concretement, quelles fonctions je ne peux pas appliquer à une image swizzlée?
Citation:
Envoyé par Yodajr Voir le message
D'après des sources sûres ( ) les prochaines versions d'oslib intégreront le "swizzlage" automatique pour plus de simplicité (il faudra donc "deswizzler" pour modifier une image)
Mais si tu utilise toujours la version 1.00, regarde la doc ainsi que les sources de mon tuto maps pour la syntaxe.
J'utilise la v2, et j'utilise l'autoswizzlage au chargement, mais comme je ne comprend pas tout perso je ne vois pas encore de différence.

Citation:
Envoyé par Yodajr Voir le message
Enfin, tu dit que tu débute, donc à mon avis c'est pas trop urgent de maitriser tout ca tout de suite, met la priorité sur les fonctions de base avant de penser optimisation (enfin c'est comme ca que je vois les choses )
Je débute en C++ sur PSP, mais la programmation c'est mon travail , je dev en Java. Et j'ai déjà développé un jeu en Lua (cherchez "mega asshole portable" sur qj.net), j'ai voulu développer celui là et je me suis heurté à la limite des performances du Lua. Donc je cherche à creuser assez profond quand même. Pour info j'ai pour l'instant developpé une classe d'animations calquée sur la version lua que j'ai développée (animlib v4 mod), et j'affiche plein de sprites à l'écran ca rame que dalle

Citation:
Envoyé par Brunni Voir le message
En fait il faut utiliser la VRAM dans les cas suivants:
- la VRAM a l'avantage d'être plus rapide sur les images non swizzlées (donc uniquement des images que vous devez modifier fréquemment, sinon c'est mieux de les swizzler et les laisser en RAM)
- il est uniquement possbile de faire un oslSetDrawBuffer sur des images en VRAM.
Sinon par défaut c'est mieux d'utiliser la RAM et laisser cette précieuse VRAM pour des cas bien particuliers
Ok je l'utilse alors pour pouvoir dessiner rapidement sur des images. Vu qu'on ne peut faire un oslSetDrawBuffer que sur des images en VRAM, on ne peut pas dessiner sur des images en RAM alors?


Je verrais tout ca à tête reposée dès que j'aurais du temps pour tester.
Merci pour toutes les infos.
daaa57150 est déconnecté   Réponse avec citation
Vieux 24/05/2007, 19h40   #6
Brunni
Super Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
Par défaut

Non, par modifier on parle de modifier les données de l'image. Par exemple si tu prends une feuille de papier tu peux la tourner, la déplacer, etc. sans la modifier (la feuille reste pareille, où qu'elle soit). La modifier ça veut dire dessiner dessus, pareil pour l'image.
Il y a deux moyens de dessiner sur une image (les deux sont impossibles si elle est swizzlée):
- Utiliser oslSetDrawBuffer(image) puis faire ses opérations de dessin comme sur l'écran, ça dessinera juste sur l'image à la place. Il faut pour cela qu'elle soit en VRAM.
- Modifier directement les données de l'image (c'est simplement un gros tableau de pixels), dont un pointeur est donné par image->data (mais c'est assez avancé, il faut savoir ce qu'on fait). Ca ça marche même si l'image est en RAM, et ça inclut le fait de faire un oslSetImagePixel sur l'image (donc impossible si swizzlée). Note que dans ce cas il ne faut pas oublier de locker l'image (oslLockImage, oslUnlockImage).

Dernière modification par Brunni ; 24/05/2007 à 19h44.
Brunni est déconnecté   Réponse avec citation
Vieux 24/05/2007, 21h31   #7
daaa57150
Membre confirmé
 
Date d'inscription: 16/05/2007
Messages: 411
Voir l'identifiant PSN
Par défaut

Merci pour l'explication ! j'ai bien pigé maintenant.

Au fait tu as réparé la fonction screenshot? t'as fait une release? c'est juste pour savoir, évidemment ca ne presse pas.

Dernière modification par daaa57150 ; 25/05/2007 à 09h58. Motif: question
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 16h48.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2023, 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