IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

VBO dans une display list?


Sujet :

OpenGL

  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut VBO dans une display list?
    Bonjour,

    je sais que la question revient souvent: qu'est ce qui est le plus rapide entre VBOs, Vertex-Arrays, Display-lists etc...

    Dans la FAQ on parle de VBO compilé (http://jeux.developpez.com/faq/openg...apidite_vertex), dois-je comprendre "VBO dans une display list" ou je tape à côté??

    Parce qu'apres beaucoup de recherches sur le net, la plupart des exemples trouvés utilisent les VBOs sans passer par les display List. Certains articles déconseillent même de combiner les deux (http://www.spec.org/gwpg/gpc.static/vbo_whitepaper.html - voir "Avoid CPU operations with vertex buffer objects")

    J'ai essayé un peu toutes les versions chez moi mais, à ma grande déception, quoi que je fasse ca n'accélère pas vraiment l'application:
    Mes tests:
    - Vertex arrays dans display list
    - VBOs dans DL
    - VBOs sans DL

    Bon, le facteur limitant est très certainement mon fragment shader, mais dans l'absolu ma question reste:
    - Ca se fait de mettre des VBOs dans une display list ou c'est plutôt idiot / inutile / à eviter?

  2. #2
    Expert éminent
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Points : 6 812
    Points
    6 812
    Par défaut
    Voici un petit article que j'ai écrit sur ce sujet : http://raptor.developpez.com/tutorial/opengl/vbo/

    Tu pourras comprendre l'utilité des VBO par rapport aux autres technologies..

    J'espère que ca va t'aider...

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut
    Merci pour le lien raptor70....c'est à partir de ca et de 2-3 autres articles que je me suis mis aux VBOs, donc je le connaissais en fait

    Pour recentrer la question: dans mon cas je fais une application qui doit aussi pouvoir tourner sur de "vieux" systemes, donc sans VBO. Dans ce cas j'utilise des VAs dans une DL.

    Et maintenant je prépare la version pour GPUs plus récents: le plus simple, pour ne pas trop allourdir mon code serait de remplacer les VAs par des VBO et de garder les display list. La différence au niveau du code est minime. Par contre si je me passe completement des DL ca change pas mal des choses donc j'aurais voulu éviter ca.

    Bref: si la combinaison VBO-DL est acceptable c'est parfait. Si par contre vous voyez une (ou plusieurs) raison de l'éviter à tout prix faites-le moi savoir (et dans la FAQ, "VBO compilé " ca veut bien dire "VBO dans DL" alors?)

  4. #4
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut
    Re,

    à force de chercher j'obtiens quelques éléments de réponse, comme ce thread:http://www.gamedev.net/community/for...page=1�

    Putting a VBO inside a display list is not something common, so i'm only half surprized of the problem you see. Display lists are built on the CPU, which means the CPU has to have access to the geometry data. If you've put this geometry data in a VBO, this implies a readback from video to system memory by the CPU, which we all know if extremely slow. Although it shouldn't crash.
    et aussi celui-ci: http://www.gamedev.net/community/for...opic_id=228364

    Comme il est dit dans les articles, mettre des VBOs dans une DL, c'est possible, mais pas courant. Au mieux les performances sont identiques, mais pas meilleures . Pire, certaines cartes ATI plantent quand un VBO est utilisé pour dessiner dans une DL.

    Bref, je crois que pour le moment je vais garder ma structure actuelle (à savoir VAs dans DL) vu qu'un passage aux VBOs (compilés ou non) n'apporte rien (dans mon application du moins) à part des risques de plantage....

    C'est dommage, je suis bien frustré pour le coup mais bon, je garde mon implémentation des VBOs sous la main pour un peu plus tard sait-on jamais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DisplayTag] Affichage d'une liste dans une <display:column>
    Par Guilhem3110 dans le forum Taglibs
    Réponses: 0
    Dernier message: 18/02/2015, 11h21
  2. Réponses: 9
    Dernier message: 15/04/2011, 17h53
  3. Sélection dans une zone liste deroulante
    Par biboulou dans le forum Access
    Réponses: 5
    Dernier message: 03/05/2006, 09h18
  4. Rechercher les element d'une liste dans une autre liste
    Par fessebleu dans le forum Langage
    Réponses: 30
    Dernier message: 24/04/2006, 21h23
  5. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo