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 :

Etrange problème DisplayList


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut Etrange problème DisplayList
    J'ai un problème avec l'option GL_COMPILE et GL_COMPILE_AND_EXECUTE pour la fonction glNewList.

    Dans mon gigantesque programme, quand j'appelle glNewList avec GL_COMPILE_AND_EXECUTE, l'appel est légèrement plus long, sans problèmes.

    Maintenant, si j'appelle avec GL_COMPILE, je gagne un temps négligeable a l'appel newlist mais je perds un temps considérable plus tard dans l'initialisation mais qui ne se repère pas plus que ca après pendant l'affichage des DL.

    Quelqu'un est familier avec ce comportement pour le moins étrange ?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 127
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    De mémoire cela dépend de ce que vous essayez de mettre dans la liste d'affichage.
    Car si l'affichage ( calcul des commandes graphiques ) est rapide, le GL_COMPILE_AND_EXECUTE ne va pas faire gagner beaucoup de temps. ( À part dans un très très grand nombre de rendu de la liste )
    Donc j'imagine que cela est votre cas ( affichage rapide ).

    Après je suis un peu perdu pour l'initialisation, mais je sais que les listes d'affichage prennent beaucoup de mémoire vive ( RAM )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut
    Je vais faire quelques précisions maintenant que j'ai pu debugger en profondeur.

    La displaylist en question contient un bete ( TRES BETE ) assemblage de triangles et de normales (7000~) rien d'exotique une affectation de matériel et rien d'autre.

    Donc j'initialise avec GL_COMPILE_AND_EXECUTE tout se passe "bien", l'initialisation prend ~2, 3 secondes.

    Si je met GL_COMPILE maintenant, toute l'initialisation prends pareil, 2, 3 secondes mais, le premier appel de ma displaylist prend 5 secondes (!) comme si on appelait pas une DL en fait ... et les appels suivants 0 secondes

    Je suis sidéré.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    quand on a des préoccupations au niveau des performances comme c'est ton cas, le plus logique est d'utiliser les VBO

    les raisons qui peuvent pousser à utiliser les DL sont plutôt la simplicité d'utilisation

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut
    Si je pouvais utiliser autre chose que les DL tu penses bien que je le ferais, c'est pas a moins qu'incombe la décision.

    Et la n'est pas la question ...

    En tout cas j'ai optimisé la DL elle meme et maintenant j'ai zéro attente a la création et a l'exécution. Cependant, j'ai un léger problème de conscience.

    Quand je compile avec GL_COMPILE, j'obtiens un léger lag a l'initialisation ( je clique, il se passe un pouillième de temps et ca fonctionne )
    Mais quand j'utilise GL_COMPILE_AND_EXECUTE, j'ai zéro zéro attente. Par contre et je suis encore une fois abasourdis du résultat .. l'affichage est moins rapide

    je dois avoir quelque chose comme 40 FPS avec GL_COMPILE et 20 FPS avec GL_COMPILE_AND_EXECUTE ...

    personne n'a étudié le probleme ?

  6. #6
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Bonjour,

    je n'ai pas de réponse précise à vous donner, mais:

    Quand je compile avec GL_COMPILE, j'obtiens un léger lag a l'initialisation ( je clique, il se passe un pouillième de temps et ca fonctionne )
    Mais quand j'utilise GL_COMPILE_AND_EXECUTE, j'ai zéro zéro attente
    Ca ca me parait logique: COMPILE_AND_EXECUTE compile la liste ET affiche en même temps, alors qu'avec GL_COMPILE il faut appeler la liste explicitement (et donc la charger en memoire) avant de pouvoir l'afficher, d'où cette petite attente.

    Après, je suis d'accord que la différence de 20 FPS selon quel type de liste est chargé, c'est bizarre....Êtes-vous sûr que c'est la seule différence?

    Au pire, ce n'est pas une solution mais pourquoi ne pas garder GL_COMPILE_AND_EXECUTE comme ca à défaut de comprendre pourquoi?

Discussions similaires

  1. Etrange probléme sur clipboard
    Par yann458 dans le forum Windows
    Réponses: 3
    Dernier message: 14/11/2013, 21h09
  2. [VxiR2] Etrange Problème Designer
    Par coolmek dans le forum Designer
    Réponses: 2
    Dernier message: 23/05/2011, 14h09
  3. Etrange problème lors de INSERT
    Par julien.63 dans le forum Débuter
    Réponses: 2
    Dernier message: 12/04/2009, 12h25
  4. Etrange problème avec un fprintf
    Par f56bre dans le forum C
    Réponses: 14
    Dernier message: 13/01/2007, 14h27
  5. Etrange problème, difficile solution
    Par Shonagon dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/09/2006, 15h38

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