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 :

Lenteur, ou le bug qui n'en est pas un..


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 46
    Par défaut Lenteur, ou le bug qui n'en est pas un..
    Bonjour, je suis en train de développer un moteur 3D avec OpenGL, jusque là tout va bien mais j'ai un soucis qui risque de devenir bien contraignant !
    Dans une scène simple j'affiche un cube visionné par une caméra, et je le déplace avec les touches de mon clavier, vitesse du programme: environ 4600 FPS. Le problème est que lorsque je déplace le cube, l'image "saute" environ toutes les 1 seconde, enfin.. elle ne saute pas mais on dirait qu'elle se fige l'espace d'un dixième de secondes..

    Voici le programme pour que vous puissiez comprendre (Nécessite OpenGL 3.x) :
    http://dridri85.free.fr/data/OpenGL bug.zip

    Merci d'avance

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    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 157
    Billets dans le blog
    152
    Par défaut
    Bonjour,

    Je n'ai pas regardé votre code (surtout que de toute façon je pourrais pas le compiler, ni l'utiliser). Mais le problème peut venir de la boucle principale du programme.
    La boucle qui gère l'affichage, et la mise à jour. Il se peut aussi que la tempo que vous utilisez ( si vous en utiliser une ) et pas assez précise.
    Finalement, il se peut que ça soit juste une erreur float <-> int ( mais ça m'étonnerai )
    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
    Décembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 46
    Par défaut
    Merci.
    Hum le problème est que ma boucle est bien basique :

    glClear(color + depth);
    glDrawArrays(...); => en utilisant un VertexArrayObject
    SwapBuffers(...);

    aucun tempo ni rien O_o




    EDIT: en fait le problème n'est pas propre à mon programme: si j'utilise en application OpenGL en mode fenêtré j'ai ce bug, mais si je passe en plein écran: aucun problème...

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    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 157
    Billets dans le blog
    152
    Par défaut
    Windows ?

    Sans tempo, ça veut dire que si la machine ne répond pas une seconde, vous avez un lag d'une seconde

    Ce que je veux dire ,c'est que vous n'avez rien de stable à 100%. Plus précisément, comme vous n'avez aucune "bonne" boucle principale. Du coup, si le processus de votre application n'est pas assez prioritaire, ou que si le système d'exploitation décide de passer à un autre processus, et bah vous avez un lag ( ralentissement ... ) Du coup c'est pas fluide.
    Après, peut être que le système, voyant que votre application est en plein écran, il n'accorde pas de temps aux autres applications.

    Ici vous trouverez, semble t'il, une 'bonne' boucle principale: http://dewitters.koonsolo.com/gameloop.html
    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.

Discussions similaires

  1. WEBMASTER : qui l'est et qui ne l'est pas ?
    Par leToto dans le forum Emploi
    Réponses: 20
    Dernier message: 09/08/2007, 02h20
  2. [PDF] Rendre imprimable ce qui ne l'est pas
    Par kij dans le forum Autres langages
    Réponses: 3
    Dernier message: 13/02/2007, 18h01
  3. Confirmation après click d'un bouton qui n'en est pas un
    Par DevloNewb' dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/07/2006, 16h10
  4. erreur de valaur nulle..qui ne l'est pas :-(
    Par bachilbouzouk dans le forum ASP
    Réponses: 7
    Dernier message: 20/04/2005, 08h52

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