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

Développement 2D, 3D et Jeux Discussion :

Étude sur les performances d'affichage de la SDL 1.2


Sujet :

Développement 2D, 3D et Jeux

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut Étude sur les performances d'affichage de la SDL 1.2
    Bonjour,

    Il arrive souvent de lire sur ce forum que les performances de la SDL 1.2 sont catastrophiques. En tant que développeur utilisant cette bibliothèque, je ne m'en était pas spécialement rendu compte. C'est pourquoi j'ai décidé d'écrire un article afin d'éclaircir la situation est de donner quelques conseils aux développeurs voulant utiliser la SDL pour leur projet.

    Bonne lecture.
    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.

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 215
    Points : 10 138
    Points
    10 138
    Par défaut
    Tu l'as finalement fait

    En voit que le nombre de FPS chute par rapport a la résolution , mais comme dans un jeu en gère aussi tous les autres truc.
    Sinon la SDL a pas des performances catastrophiques , si on sait ce qu'on fait et ce qu'on manipule , si on créer une grosse surface et qu'on dessine dessus , les performances font être catastrophique et peu importe la résolutions, mais en générale ça s'applique qu'au débutant
    Et ce point tu l'as un peu oublié ,oui afficher des rectangles de 20x20 ou 50x50 ça peut aller , les plus grosses c'est a utiliser avec modération (genre le background) , une image de 1900x1200 sur la grosse résolution ça va être très violent x).

    Pour des test , je trouve ça 'stupide' de testé bmp , png ou jpeg vu qu'en mémoire il seront pareil (tableau de RVB ou RVBA) , même si la SDL possède autre façon de la représenter en mémoire (la façon optimisé) , utilisation de la palette/mask , les images semi-transparentes sont de toute façon la plus couteuse (et a évité) , vu qu'il faut faire des calcul entre image du fond et image qu'on blit.

    Pour la résolution tu as bien vu que échange de tampon a un très grand cout , pour ça que si on utilise des sprites basse résolution faut mieux faire du 640x480 et grossir image via opengl comme cela on garde les performances du 640x480 dans une fenêtre 1900x1200.

    Sinon j'aime bien ce test ,je pourrais le refiler quand je verrai des résolutions énormes , même si tes test je vois que tu as un bon ordi pas sur que j'ai les même résultats

    Bon travail

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 18
    Points : 39
    Points
    39
    Par défaut
    Dans l'article on peut lire que sur certaines plateformes les HW Surface ne sont pas implémentées, en fait ça dépend surtout des drivers présents sur la machine. Tes tests sont certainement basés sur le driver par défaut, qui ne supporte pas les HW Surface. C'est pour cela qu'on obtient les mêmes résultats entre SW et HW, car en réalité le driver ne prend pas en compte le flag HW et se contente d'utiliser des SW.

    A savoir que sur Windows (Sur Linux aussi je crois) le DoubleBuf ne marche qu'avec les HW Surface, et donc qu'avec le plein écran et le driver directx. Et avec cette configuration (directx+HWSURFACE+FULLSCREEN+DOUBLEBUF) les fps se synchronisent avec le taux de rafraichissement de son écran (Pour ma part 60 fps). Cette configuration c'est donc l'option de synchronisation verticale (Anti-déchirement de l'image) (Marche aussi avec les SWSURFACE).

    J'ai refait le test 2 avec une résolution 1366x768 sur Windows :

    Driver par défaut :
    SWSURFACE = ~550
    SWSURFACE + FULLSCREEN = ~580
    SWSURFACE + DOUBLEBUF = ~550
    SWSURFACE + FULLSCREEN + DOUBLEBUF = ~580
    HWSURFACE = ~550
    HWSURFACE + FULLSCREEN = ~580
    HWSURFACE + DOUBLEBUF = ~550
    HWSURFACE + FULLSCREEN + DOUBLEBUF = ~580

    Driver directx :
    SWSURFACE = ~250
    SWSURFACE + FULLSCREEN = ~250
    SWSURFACE + DOUBLEBUF = ~250
    SWSURFACE + FULLSCREEN + DOUBLEBUF = 60 constant
    HWSURFACE = ~250
    HWSURFACE + FULLSCREEN = ~472146 (!)
    HWSURFACE + DOUBLEBUF = ~250
    HWSURFACE + FULLSCREEN + DOUBLEBUF = 60 constant

    On remarque trois choses :
    -Sans directx et sans le plein écran, HWSurface = SWSurface même si c'est le flag HWSurface qui a été activé
    -L'utilisation de directx fait baisser les performances avec les SWSurface
    -La configuration directx + HWSURFACE + FULLSCREEN donne de bonnes performances (Mais sans DOUBLEBUF on a du scintillement)

  4. #4
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    Dommage de voir cet article arriver alors que la SDL 2.0 vient d'arriver.

    Il serait intéressant de faire les mêmes tests avec la version 2.0 pour comparer.

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par Uther Voir le message
    Dommage de voir cet article arriver alors que la SDL 2.0 vient d'arriver.

    Il serait intéressant de faire les mêmes tests avec la version 2.0 pour comparer.
    +1, voir même comparer aussi avec d'autres solutions, genre la SFML2.

  6. #6
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 519
    Points : 5 168
    Points
    5 168
    Par défaut
    Très bon article
    auquel il ne manque plus qu'une suite en convertissant les tests en SDL 2.0
    Citation Envoyé par LittleWhite Voir le message
    La SDL n'est pas une si mauvaise bibliothèque que ce que l'on dit. Il est possible de faire un jeu avec, même dans des résolutions comme 1024x768.
    Je n'ai pas trop le "pas si mauvaise qu'on le dit"
    je n'ai jamais lu que la SDL était mauvaise
    en plus il existe de très nombreux jeux qui l'utilise, beaucoup de jeux indy mais aussi des jeux commerciaux

    je pense qu'il y a peu de jeux l'utilisant qui sortent aujourd'hui du fait de l'ancienneté de la 1.2
    mais la 2.0 pourrait relancer la machine, surtout si la conversion n'est pas trop douloureuse
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/09/2006, 08h58
  2. Votre avis sur les performances
    Par Rafy dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 12/08/2005, 09h28
  3. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 14h49

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