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

SDL Discussion :

Optimisation d'utilisation de la carte graphique


Sujet :

SDL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut Optimisation d'utilisation de la carte graphique
    Bonjour à tous,

    voilà je voulais savoir si la SDL exploitait directement la carte graphique ou bien faut faire attention à son code et spécifier des éléments spécifiques. Car j'ai essayé un programme 2D qui affichait du 90 images secondes sur un 3.2GHz avec juste une carte intégré sur la carte mère alors que je n'ai que du 80 pour un 3Ghz possédant une carte graphique Geforce 6600. Alors je me pose des questions. J'ai surement du sauter des étapes en programmant...

  2. #2
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Je ne connais pas les dernières implémentation de SDL sur des systèmes autres que Windows, mais sûr celui-ci, il faut savoir que SDL est basé sur DirectX 5. Donc les fonctionnalités d'une Geforce 6600 ne seront largement pas toutes exploités.

    Ensuite, les perfs dépendent de beaucoup de choses pour que ce soit au max la carte graphique qui travaille.

    Ce que tu fais réellement dans ton programme
    Si tes surfaces sont réellement sur la carte chaque fois qu'elles le peuvent
    Le nombre d'accès à la mémoire vidéo
    ...

    pour tester vraiment les perfs spécifique à la carte graphique il faudrait un programme qui fait essentiellement du blitting hardware par exemple.
    Fiquet
    - FAQ SDL
    - FAQ C++

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    Salut Gonath,

    Pour commencer au dessus des 50-60 images par secondes les chiffres ne sont pas significatifs.

    Ensuite pour de la 2D, hélas tu n’exploiteras pas les possibilités de ta carte. D’où l’intérêt d’utiliser OpenGL interfacé avec SDL. A ce moment tu n’utilise que 2 axes X et Y et utilise les primitive Ogl qui vont te fournir une optimisation avec ta carte (après ça dépend des drivers …)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    Donc, il vaudrait mieux que je reprogramme (si je vois que ca devient lent) avec OpenGl. Ca risque d'etre un sacré boulot, non ? parce que pour l'instant avec SDL, c'est encore simple à l'emploit.

    Pour ce qui est des images en mémoires, si je fais un bete SDL_LoadBMP, l'image chargé sera mis simplement en RAM et non sur la mémoire de la carte graphique, c'est ca ? Est ce que cela change beaucoup au niveau du code si je veut mettre sur la carte Graphique ?

    au fait merci pour les autres réponses

  5. #5
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Citation Envoyé par Gonath
    Donc, il vaudrait mieux que je reprogramme (si je vois que ca devient lent) avec OpenGl. Ca risque d'etre un sacré boulot, non ? parce que pour l'instant avec SDL, c'est encore simple à l'emploit.
    Tout dépend de tes objectifs. Si tu veux vraiment une application rapide car SDL est vraiment trop lent, tu peux l'envisager, mais utiliser SDL pour l'affichage 2D peut aussi être suffisant, il faut d'abord voir de son côté si on peut optimiser son code, ses algos.

    Citation Envoyé par Gonath
    Pour ce qui est des images en mémoires, si je fais un bete SDL_LoadBMP, l'image chargé sera mis simplement en RAM et non sur la mémoire de la carte graphique, c'est ca ? Est ce que cela change beaucoup au niveau du code si je veut mettre sur la carte Graphique ?
    C'est toi qui le choisis. Lorsque tu crée tes sufaces, tu as le choix de les mettre en mémoire système ou vidéo. La différence dans ton code serait juste des flags (SDL_HWSURFACE ou SDL_SWSURFACE).

    Par contre, il faut savoir que le plein écran est requis pour avoir des surfaces hardware (en tout cas sur la plupart des implémentation à une exception près je crois).
    Fiquet
    - FAQ SDL
    - FAQ C++

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/11/2011, 21h38
  2. driver pour carte graphique afin d'utiliser compiz
    Par ryadh.naouar dans le forum Linux
    Réponses: 0
    Dernier message: 13/03/2008, 15h54
  3. Réponses: 2
    Dernier message: 28/09/2007, 16h55
  4. Mesurer l'utilisation mémoire d'une carte graphique
    Par Harry dans le forum Composants
    Réponses: 1
    Dernier message: 26/02/2007, 18h20
  5. [carte graphique] utiliser entree s-video
    Par nicoarrf dans le forum Composants
    Réponses: 11
    Dernier message: 17/11/2006, 14h08

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