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 :

Rapidité de SDL + openGL


Sujet :

OpenGL

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut Rapidité de SDL + openGL
    Bonnjour a tous !
    J'ai un petit pb ...et je ne parvient pas a cerner l'erreur ; je suis pratiquement persuadé que lorsque j'avais fait des test similaire avant, j'avais des résultat de l'ordre de 2 milli sec entre cahque exécution de ma boucle d'affichage .
    Et la, avec une boucle toute bete

    while(done)
    { SDL_GL_SwapBuffers(); }

    je fait du 10-11 ms par passage dans cette boucle et du 0.015 si je "comment" cette ligne ... ca me parait bizzare ...pas vous ? ou alors c'est normal que ce sot aussi lent et j'avais bu lors de mes précédents tests

    edit :
    Perosnne na ce genre de pb ?

    http://max.cat.free.Fr/Release.zip

    Lancer le .exe et attendez 1-2 sec avant de fermer la fenetre , un fichier stdout.txt va se cré avec dedans un nombre par ligne ...si vous pouviez essayer de me dire ce que donne a peu prés ce nombre ( chez moi c autour de 10 ) ... et j'ai un bon pc :/

    Comme ca on verra si le pb vient de mon pc, ou de mon code

    ( précisez aussi un peu quel genre de becane vous avez )

    perso j'ai un 2.6ghertz, 512ram , ati 9600 pro

    edit: ca peut venir de la SDL? j'ai installer la nouvelle version ...j'avais l'ancienne lors de mes précédent test ...

    merci a tous d'avance !

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Peut-être es-tu simplement calé sur la fréquence de rafraîchissement de ton écran ?
    Est-ce que tu as vérifié que ce n'est pas ton chrono qui est imprécis ?

    Concernant le zip, autant le lol.txt ne m'a pas gêné, mais si tu avais enlevé les .obj et le .idb ça aurait allegé le tout

    Et mes résultats : environ 14 avec GF3 Ti 200 et Athlon 1200 (mais bon, avec une si petite boucle d'affichage ça ne vient certainement pas de la config )

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    Désolé pour le zip ..j'ai fait ca a la va-comme-jt'e-pousse :p

    Concernant la Vsync, le pb vient peut-etre de la ; mais je ne trouve toujours pas ou la desactiver !
    (j'ai les pilotes cataclyst , avec un beau GUI ...ms j'ai rien vu qui y resenblait dedans ... ati 9600 pro )

    mon chrono ressemble a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    QueryPerformanceCounter(&current);
    	        if ( old.QuadPart == 0 ) { QueryPerformanceCounter(&old); }
    	        time_now = time_now + 1000/(float)((freq.QuadPart)/(current.QuadPart - old.QuadPart));
    	        time_elapsed = time_now - time_last ;   
    	        time_last = time_now ;  
                old = current ;
    En affichant time_elapsed ; j'obtient le tps de passage entre chaque "itération" de ma boucle principale .

    Heu tu obtient 14 en gros comme chiffre ? bah c'est pas glorieux non plus ; ca fait du 70 fps pour une scene openGL vide en 640*480*16 :p tu a la Vsync d'activeé ?
    merci en tout cas d'avoir prit le temps de tester .

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je n'ai pas le VSync activé (de toute façon je suis à 85 Hz - c'est pour ça que j'emet un doute ), mais ça peut être activé par l'appli aussi. Mais ce qui est sûr c'est qu'une boucle d'affichage qui ne fait rien ne peut pas être aussi peu performante, c'est forcément un réglage à la noix de ce genre.

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    grrrrr :p reste a savoir quoi car c'est assez genant d'avoir 50 ms / boucle en 1024*768*16 quand meme .... surtout avec qquchose de vide
    si qqun a une idée , je prend
    merchi

  6. #6
    Membre habitué Avatar de ken_le_videur
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 129
    Points : 145
    Points
    145
    Par défaut
    0,7-0,8 pour moi avec un Athlon 3000+ et Radeon mobility M10 avec VSync désactivée par défaut

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    En réinstallant les pilote précedent de ma carte graphique ( c'est stupide mais bon ... ) je suis passé a 3.5 ms / boucle .... ce qui est énorme encore pour une boucle vide ... mais un peu mieux qu'avant .
    J'ai ausi remarqué que je repassait a 6 s si je mettait on desktop en 32 bit ... ( 3.5 avec 16 bit en desktop ... )
    Ze veut mes 0.1 ms par frames ((( ouiinnnnn

    edit: ken_le_videur ton bureau était en 32 ? si oui, peut-tu refaire rapidement le test en 16bit sil-te-plait ? merci

    bon, je retourne chercher la réponse a mon dileme du jour :p

    edit2: pour info ; mes précédent test ( il y a environ 1 mois 1/2 )

    bilan -> path-finding = 0.23 ms
    écriture pour debug = 0.1 ms
    affichage de map = 0.1 ms
    affichage du chemin = 0.5 ms

    et la avec RIEN je suis a 3.5 ; avec tout ca, je suis a 11 ms ...( je devrai etre a - de 1 )

  8. #8
    Membre habitué Avatar de ken_le_videur
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 129
    Points : 145
    Points
    145
    Par défaut
    En 16 bit: 0,6 environ

  9. #9
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    Tu fais tes tests en fullscreen ?
    Parce que sinon c'est largement biaiser par l'affichage de Windows ... mais bon ca reste bizard.

    Sinon perso je n'aime pas vraiment ce type de compteur, je préfaire compter le nombe d'images afficher pendant un second, ca donne un resultat très bon et précis grace à une règle d'acquision : La somme des bruit tend vers 0

  10. #10
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pour être sûr du framerate tu peux aussi utiliser FRAPS par exemple.

  11. #11
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    merci ken .... c'est le type de résultat que je devrai obtenir chez moi si tout allait bien ;o)

    >Groove, je fait mes test en mode windowed ; et j'aime bien ce type de compteur pour ca précision ; aprés les petite imprécision du au fait que j'afiche le tps entre chaque frame et non une moyenne ne me gene aps pour le moment ... car j'ai un facteur 10-20 de toute facons qui me gene :/

    >loulou, je vais gogle-er de suite pour voir de quoi tu me parle
    merci

    ...c'est le 3ème forum ou je pose cette question et j'ai pas encore trouvé la solution :/ rho ^^ allez courage j've essayer de refaire 2-3 prog minimaux pour voir si l'erreur ne viendrai pas d'autre choses aussi ...


    EDIT: j'ai les meme resultat avec fraps ; 27X fps pour une fenetre vide ... *sic*

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 34
    Points
    34
    Par défaut
    'lut,

    dans ton programme, récupère le nom du vendeur de la carte graphique( glGetString(GL_VENDOR) ) . Si tu as une ATI/Nvidia et que tu obtiens Microsoft, c'est que tu es en software mode => rendu moins rapide.
    Désinstalle tes pilotes proprement, un petit coup de drivercleaner derrière et tu les réinstalles.
    Et si c'est pas ça, désolé de t'avoir fait perdre ton temps.

  13. #13
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    j'obtient effectivement Microsoft corporation avec gl_vendor et ma carte est une ati 9600 pro .... je vais donc essayer de re-desintaller les pilote et de les réinstaller ; ms j'installe ceux par defaut ( avec le cd-rom fournit ) ou les dernier cataclyst ( ceux que j'ai en ce moment ) .
    Pour la desinstallation, je vais tester ton logiciel ...je vais dabord voir ce que c'est et le telecharger ( google is my friend ^^ )
    merchi

    edit : je vient depasser un coup de driver cleaner; puis de reintaller les driver a partir du cd original ...j'ai toujours "microsoft corporation" comme vendors...qu'a-je raté?
    (je suis a 2.6 ms /frame ...ce qui est un poil mieux ..mais il me reste encore un gros facteur 10 dans les dents :p

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 34
    Points
    34
    Par défaut
    Je n'utilise pas SDL, peut-être un problème d'init SDL ? Mauvais Format de Pixel ?

    Télécharge le tutorial 24 sur le site de nehe, compile le et voit si tu as le même problème.
    http://nehe.gamedev.net/data/lessons....asp?lesson=24

  15. #15
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    Je vais faire rapide, car je part en w/e dans 5 min Bon week-end a tous d'ailleur !!!

    J'ai telecharger le tuto 24, et j'ai environ 270 fps a l'exe et vous ?
    Il m'afffiche ati technologie comme vendor ..alors que moi dans mon prog il maffiche toujours microfost O_o , je n'ai aps eu le tps de voir pourquoi ...
    Sinon quand je fait f1 dans son prog, je passe en full screen, quand je refait f1 ; mon pc reboot :/

    Bon ; je suis un peu a cours d'idée .... je vais telecharger un anti virus en revenant ....ca peut peut-etre venir de la qui sait? ou alors si vous avez d'autres idées je prend !

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 34
    Points
    34

  17. #17
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    Toujours le meme pb de mon coté :/
    Je me demandait si l'un de vous avait un petit prog juste en directX ( simple, du style une fenetre vide ) que je test ; car il se peut que le pb viennet de openGL ( ou pas .... ) et sinon si qqun sait ou je peut telecharger les dernier dll de openGL, je suis preneur ; ou tout autre idée de génie qui me sauverai d'affaire
    merci

  18. #18
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    si t a microsoft dans ton prog alors qu un autre prog te donne ATI technologies c que ton prog doit mal initialiser openGL

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 108
    Points : 128
    Points
    128
    Par défaut
    Essaye de copier le fichier Opengl32.dll et Glu32.dll du répertoire System32 dans le répertoire d'exécution de ton programme.

  20. #20
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    si t a microsoft dans ton prog alors qu un autre prog te donne ATI technologies c que ton prog doit mal initialiser openGL
    C'est le cas :/ , j'affiche cette info de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char* p = (char*)glGetString( GL_VENDOR );
    cout << p ;
    Et j'obtient microsoft corporation dans un cs ; et ATI technologie avec le prog de NEHE's

    ...Interessant, je vient de faire un petit test ; en copiant mes 3 fichier glu /glut et opengl 32 . dll de system32 ( les meme que dans mon dossier courant ) dans le rep du prog de NEHE, en éxécutant celui-ci, j'obtient les meme info a savoir microsoft corporation et la liste des extention suporté par ma carte graphique passe de 83 ( de mémoire ) a...3 ....
    je doit avoir un pb a ce niveau la !

    edit: enfin on tient le bon bout !!!! en supprimant les fichier opengl32.dll , glu32.dll ect ..je retourve des fps digne de ce nom .... mais bon, la il faut m'expliquer pourquoi !!! car ce sont ces meme fichier qui sont encore présent dans system32....

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/04/2015, 02h02
  2. Texture SDL + OpenGL
    Par batman60 dans le forum OpenGL
    Réponses: 6
    Dernier message: 17/07/2005, 14h02
  3. Tuto SDL + Opengl
    Par Happy dans le forum OpenGL
    Réponses: 10
    Dernier message: 08/07/2005, 12h51
  4. SDL+opengl+drivers nvidia 56.72 et plus
    Par ttf dans le forum OpenGL
    Réponses: 2
    Dernier message: 22/05/2004, 14h28
  5. [Debutant] Sdl & OpenGl link ne marche pas
    Par Riko dans le forum OpenGL
    Réponses: 9
    Dernier message: 18/02/2004, 16h13

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