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 :

Map openGl affichage différentes fréquences


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 274
    Par défaut Map openGl affichage différentes fréquences
    Bonjour à tous,

    je viens de terminer une partie d'un programme permettant de convertir une image bmp en une map openGL constituées de triangles via des VBO. Le seul problème est que, le fichier bmp ayant des dimensions de 256*256, le nombre de triangles avoisine les 300 000 (enfin plutot le nombre d' index) ce qui ralentit considérablement le programme à chaque "recoloriage" de la scène, update très fréquent (de l'ordre de 1 par 30ms).
    Le problème est bien évidemment que le nombre de vertex à afficher est trop important pour pouvoir se permettre une update aussi fréquent (de toute façon ça le ralentit étant donné que le temps d'affichage est supérieur au temps entre chaque update).
    Du coup, cela ralentit le programme et les évènements ne sont pris en compte qu'avec un délai important (normal).
    Je voulais donc savoir si il existait un moyen simple (et efficace) d'afficher un VBO à intervalles très grands (pour la map, de l'ordre de 1 update par 5secondes) et de bouger la caméra, donc d'update la scène, beaucoup plus souvent, autrement dit est-il possible de dissocier un "plan" d'un autre car je me doute bien que si on efface la scene pour bouger la camera il faudra redessiner la map ce qui n'est pas avantageux.

    N'hesitez pas a me poser des questions si vous n'avez pas compris mon problème, j'explique très mal ^^

    Sinon pour votre aide précieuse

  2. #2
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    Bonjour,

    Sur quellle carte travaillez vous? Les performances devraient etre plus elevees a mon avis, pour la methode que vous decrivez, meme pour un update toutes les 30 ms.
    Comment ecrivez vous dans le VBO? Comment l'avez vous construit?

    Cdt,

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 274
    Par défaut
    Voici ma carte :
    ATI Mobility Radeon HD 5850 c'est pas le dernier modèle mais elle est quand même bien puissante je pense puisque je fais tourner des jeux comme starcraftII en mode graphismes élevés donc je ne pense pas que le problème vienne de la.

    En ce qui concerne mes vbos, j'ai regardé leur contenu avec GDebbuger et je n'ai observé aucune anomalie concernant les buffers, tous contiennent les bonnes valeurs. J'ai testé une carte de 64*64, cela marche sans aucun ralentissement. Je ne vois pas ou peut se situer le problème surtout que tout me semble correct.

    Je peux vous fournir des morceaux de code si vous le désirez

    Cordialement

    Edit : je viens de comparer les fps, effectivement j'obtiens un score pitoyable ^^ 3/4 FPS pour une map de 256*256, et seulement 10/15 pour une map de 64*64

  4. #4
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    Votre carte est largement suffisante pour effetuer cela.

    Pouvez-vous poster la partie du code qui s'occupe de la mise a jour du VBO?

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 274
    Par défaut
    En fait je pense qu'il y a un problème lors de la création des vbos car le vbo index contient plus de 11500000 éléments ce qui je pense est la cause de ce ralentissement, je pense que je vais revoir mon algo de génération de terrain

    Edit : Je pense qu'il s'agit d'une erreur toute bête qui expliquerait la tendance exponentielle du rallongement de la liste d'index. En effet, lorsque j'ajoute des parties de vbo au vbo lui meme, je réalloue une zone de mémoire sans supprimer la précédente, ce que je pense occasionne de grandes pertes et non libération de mémoire, confirmées par gdebugger. Affaire a suivre donc

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 219
    Par défaut
    Que vous fassiez un seul VBO et IBO m'étonne beaucoup ... Une map ce conçois généralement en régions de même tailles, seul les VBOs diffèrent, pour un même IBO. Ainsi, vous pouvez déterminé par le CPU quels régions affiché a l'écran. Ils peuvent aussi être actualisé en priorité. Ainsi vos performance seront bien booster ...

    et si vos modification sont localisé, pas besoin de rechargé tout les VBOs, seulement les VBOs des régions modifié.

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

Discussions similaires

  1. [CSS]Affichage différent sous IE et FF
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 08/12/2005, 14h53
  2. Affichage différent selon texte dans une case
    Par pingoo78 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 17h32
  3. Affichage différent entre Windows XP et 2000
    Par Ben_Le_Cool dans le forum Langage
    Réponses: 9
    Dernier message: 29/07/2005, 21h52
  4. Réponses: 1
    Dernier message: 11/05/2005, 18h28
  5. Réponses: 2
    Dernier message: 09/10/2004, 12h35

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