Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2012-01-28 18:03:25 Optimisation et performances

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Optimisation et performances



Bonsoir,
ça fait quelques années maintenant que je n'ai plus fait de processing et je m'y replonge un petit peu ces derniers temps.
La dernière fois que j'en ai fait je m'étais développé un petit "framework 2d" qui correspondait bien a mes attentes de codeur/flasher (imbrications de "clips", événementiel, etc..) mais il avait ses limites dans sa vitesse de rendu.

Pour imbriquer des objets dans d'autres et faciliter la compréhension de mon code, chaque objet se dessine dans le contexte de son parent. En gros, ma classe graphique de base (Sprite) avait sa méthode draw qui faisait un translate au coordonnées x, y + rotation du parent puis se dessinait elle même en ces nouvelles coordonnées à grand coup de pushMatrix et popMatrix

l'idée en pseudo code:

Ca marchait avec un nombre infini de profondeur et de rotation,  super pratique, mais super lent. Sans parler du moment ou j'ai basculé vers l'opengl pour gagner en perf. Mais l'opengl n'aime pas trop qu'on lui envoie plein de petits truc à rendre, il préfere qu'on envoie tous les buffers d'un coup. Donc mon framework n'était plus du tout bon...
Ma question c'est qu'elle est la "meilleure" ou du moins une façon de faire pour afficher pleins d'objets dans un contexte "hierarchique" enfant/parent sans que ça rame ou que ça rame le moins possible ?


[ Viande for life ! ]

Hors ligne

 

#2 2012-01-28 21:53:03 Re : Optimisation et performances

nononononono
membre
Lieu: Toulouse
Date d'inscription: 2011-02-04
Messages: 614

Re: Optimisation et performances



Salut, openGL via les vertex arrays et les VBO

Hors ligne

 

#3 2012-01-28 23:13:05 Re : Optimisation et performances

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: Optimisation et performances



alors pour avoir tester l'opengl comme je le dis dans mon précédent post le soucis c'est que si je dois dessiner 1000 triangles et que chaque triangle se "dessine tout seul", chaque triangle va envoyer à la carte graphique une "requête" ça fait bien plus ramer que d'envoyer tous les vertex d'un coup à la carte graphique.

Mon soucis c'est que pour faciliter mes calculs, mes profondeurs d'affichage etc..., je préfère que les objets soient "imbriqués"
Du coup je cherche une astuce ou une technique pour tout envoyer d'un coup.


[ Viande for life ! ]

Hors ligne

 

#4 2012-01-29 00:40:02 Re : Optimisation et performances

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: Optimisation et performances



Pour voir ce qu'un vertexarrays est capable :
http://wiki.processing.org/w/1,000,000_ … tex_Arrays
un sketch vaut mille discours

Hors ligne

 

#5 2012-01-29 11:01:05 Re : Optimisation et performances

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: Optimisation et performances



Je crois que l'on peut faire du cuda ( calcul via gpu par nvidia )
utiliser de l'open gl pur pourrait augmenter ta vitesse de rendu, et je pense que ta machine peut gérer 3000 particule ( 1000 triangle ) en temps réel .

Hors ligne

 

#6 2012-01-29 11:16:53 Re : Optimisation et performances

nononononono
membre
Lieu: Toulouse
Date d'inscription: 2011-02-04
Messages: 614

Hors ligne

 

#7 2012-01-29 13:14:44 Re : Optimisation et performances

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: Optimisation et performances



haaa, ton dernier lien nono a l'air de couvrir un peu plus ce que j'attends, je le parcours et je vous dis si c'est que j'attends. Merci.


[ Viande for life ! ]

Hors ligne

 

#8 2012-01-29 13:44:42 Re : Optimisation et performances

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: Optimisation et performances



Ok Ok, ca me semble plus clair !
effectivement ce tutoriel du siteduzero a l'air de couvrir ma demande ! Je vais donc manipuler du VBO.
Merci pour le lien.


[ Viande for life ! ]

Hors ligne

 

#9 2012-01-31 11:44:57 Re : Optimisation et performances

nononononono
membre
Lieu: Toulouse
Date d'inscription: 2011-02-04
Messages: 614

Re: Optimisation et performances



Ah? j'aurais pensé que tu aurais eu une petite préférence pour les display list.....

Hors ligne

 

#10 2012-01-31 13:46:05 Re : Optimisation et performances

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: Optimisation et performances



la display list a l'air bien pour du contenu qui bouge pas.... si tu veux modifier un point de ta displaylist ben faut en recréer une hmm


[ Viande for life ! ]

Hors ligne

 

#11 2012-01-31 18:32:38 Re : Optimisation et performances

nononononono
membre
Lieu: Toulouse
Date d'inscription: 2011-02-04
Messages: 614

Re: Optimisation et performances



ben oui, pour faire tout plein de roues pour ta voiure!

Hors ligne

 

#12 2012-02-01 00:46:11 Re : Optimisation et performances

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: Optimisation et performances



Serait il possible de voir comment tu manipules ça en processing, avec update de tes vbo ?

Hors ligne

 

#13 2012-02-01 14:21:27 Re : Optimisation et performances

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: Optimisation et performances



ha ben j'en suis encore à me documenter avant de re attaquer...
mais a priori mon principe restera le même.
Chaque "Sprite" contiendra une liste d'enfants... et le Sprite au lieu de de dessiner glBegin()+ glEnd() == lourd va remplir un tableau. Et une fois arrivé au bout de tous les objets à dessiner , j'envoie à la carte graphique le tableau.

Logiquement ça devrait aller plus vite qu'appeler la carte graphique pour chaque Sprite.

Du coup ca me permet de garder mon héritage  + composition mais de n'avoir qu'un "gros rendu" à la fin. Mais gros rendu moins gourmand.

Dernière modification par Turboconnard (2012-02-01 14:23:02)


[ Viande for life ! ]

Hors ligne

 

#14 2012-02-02 01:39:59 Re : Optimisation et performances

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: Optimisation et performances



un lien qui peut t'être utile :
http://www.opengl.org/wiki/VBO_-_more

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024