Bonjour,
Je me penche aujourd'hui sur l'utilisation de molehill et de stage3D qui permet entre autre de l'utiliser pour faire de la 2D.
J'ai démarré mes tests et je compte les poursuivre. Toutefois je viens ici demander un petit retour d’expérience sur la techno.
J'utilise actuellement un moteur d'affichage bitmap maison (qui use et abuse des BitmapData et de la methode BitmapData::copyPixels() )
J'ai actuellement des perfs corrects en version web et iPhone, mais j'aimerai encore gagner en optimisation
Je me penche donc sur stage3D pour tenter d'y gagner.
La question que je me pose est la suivante, qu'est ce qui est le plus rapide?
- un moteur BitmapData afficher dans un Bitmap ( avec BitmapData::copyPixel())
- un moteur BitmapData affiché dans un Stage3D (toujours en utilisant copyPixel) avec un unique BitmapData , ou sont copié d'autre bitmapdata. qui lui même est copié dans Stage3D
- un moteur BitmapData affiché dans un stage3D. Mais en utilisant le fonctionnement natif de stage3D : chaque bitmapdata de mes sprites est copié unitairement dans le stage3D (donc point de copyPixel et beaucoup d'application de texture, création de vertices et indices pour chaque sprite etc...)
Qu'en pensez-vous?
Quelqu'un a déjà fait des tests dans ce sens?
NB: Le but étant de gagner du FPS sur iPhone
Merci.


Performance 2D avec Stage (BitmapData, Bitmap et Stage3D)3D
Débuté par PixelPierrot, Oct 12 2011 17:38 PM
CODE Actionscript
#1
Posté 12 October 2011 - 17:38 PM
#2
Posté 12 October 2011 - 17:48 PM
le stage3D utilise le GPU donc si tu affiches quoi que ce soit à l'écran, ce sera forcement plus performant.
c'est comme comparer un velo et une moto ... les deux roulent mais un use tes jambes l'autre non
c'est comme comparer un velo et une moto ... les deux roulent mais un use tes jambes l'autre non

#3
Posté 12 October 2011 - 17:55 PM
Stage3D ne fonctionne pas sur iPhone & Android pour l'instant. La date n'a pas été annoncée. AIR3 est sorti certes, mais sans Stage3D. C'est en cours de développement, mais il n y'a pas de date. Ce sera annoncé là: http://blogs.adobe.c...untimereleases/
Tu peux néanmoins faire le dev en desktop en attendant que ça sorte.
C'est plus ou moins comme ça qu'il faut faire. Stage3D c'est de l'OpenGL/DirectX classique. Pour faire de la 2D, tu fais un quad texturé par sprite. Pas de souci de perfs, c'est le GPU qui bosse.
D'ailleurs tu n'as pas grand intérêt à développer ça toi-même: c'est déjà dispo, c'est Starling (http://www.starling-framework.org/). Ca marche très bien. Sauf que ça bloque à 4096 sprites affichés (faut être un porc là).
Tu peux néanmoins faire le dev en desktop en attendant que ça sorte.
Citation
- un moteur BitmapData affiché dans un stage3D. Mais en utilisant le fonctionnement natif de stage3D : chaque bitmapdata de mes sprites est copié unitairement dans le stage3D (donc point de copyPixel et beaucoup d'application de texture, création de vertices et indices pour chaque sprite etc...)
C'est plus ou moins comme ça qu'il faut faire. Stage3D c'est de l'OpenGL/DirectX classique. Pour faire de la 2D, tu fais un quad texturé par sprite. Pas de souci de perfs, c'est le GPU qui bosse.
D'ailleurs tu n'as pas grand intérêt à développer ça toi-même: c'est déjà dispo, c'est Starling (http://www.starling-framework.org/). Ca marche très bien. Sauf que ça bloque à 4096 sprites affichés (faut être un porc là).
Modifié par frangois, 12 October 2011 - 18:00 PM.
Je suis dispo en free-lance. Et j'ai un blog.
#4
Posté 13 October 2011 - 09:35 AM
frangois, le 12 October 2011 - 17:55 PM, dit :
Stage3D ne fonctionne pas sur iPhone & Android pour l'instant. La date n'a pas été annoncée. AIR3 est sorti certes, mais sans Stage3D. C'est en cours de développement, mais il n y'a pas de date. Ce sera annoncé là: http://blogs.adobe.c...untimereleases/
Tu peux néanmoins faire le dev en desktop en attendant que ça sorte.
C'est plus ou moins comme ça qu'il faut faire. Stage3D c'est de l'OpenGL/DirectX classique. Pour faire de la 2D, tu fais un quad texturé par sprite. Pas de souci de perfs, c'est le GPU qui bosse.
D'ailleurs tu n'as pas grand intérêt à développer ça toi-même: c'est déjà dispo, c'est Starling (http://www.starling-framework.org/). Ca marche très bien. Sauf que ça bloque à 4096 sprites affichés (faut être un porc là).
Tu peux néanmoins faire le dev en desktop en attendant que ça sorte.
C'est plus ou moins comme ça qu'il faut faire. Stage3D c'est de l'OpenGL/DirectX classique. Pour faire de la 2D, tu fais un quad texturé par sprite. Pas de souci de perfs, c'est le GPU qui bosse.
D'ailleurs tu n'as pas grand intérêt à développer ça toi-même: c'est déjà dispo, c'est Starling (http://www.starling-framework.org/). Ca marche très bien. Sauf que ça bloque à 4096 sprites affichés (faut être un porc là).
Merci pour vos réponses.
Alors si j'ai un intérêt a développé par moi même.
Car j'ai déjà un framework maison assez conséquent qui tient la route pour faire du jeu 2D.
Reprendre un nouveau framework me demanderait de redevelopper une grosse partie de mon projet actuel.
Alors que je peux aussi juste changer des pièces du socle de mon framework pour y gagner

D'ailleurs c'est un framework que je distribuerais quand j'estimerais qu'il est assez robuste

Il y a encore des points dont je ne suis pas satisfait!
Merci.
1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)