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 :

Gérer les faibles résolutions


Sujet :

SDL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Gérer les faibles résolutions
    Bonjour,
    Il y a quelques temps, j'ai programmé un simple jeu Tétris à l'aide de la bibliothèque SDL. Je tiens à utiliser la résolution 320x240, ou du moins conserver ce ratio largeur/hauteur.

    Mon problème est le suivant, il semble que ma nouvelle carte graphique ne supporte plus cette basse résolution. En fait, lorsque je donne ordre à SDL de se mettre en 320x240, elle se met plutôt en 640x480. Sur d'autres PC, je n'ai pas ce problème.

    Je pensais donc ramener le jeu sur une résolution de 640x480. Au niveau de l'affichage, quelle méthode me conseillez-vous? Devrais-je, à l'aide d'une fonction, doubler la grosseur de chacune de mes surfaces et multiplier par 2 chacun de mes mouvements en terme de pixels? Ou bien plutot procéder comme si mon jeu était en 320x240 puis doubler la surface finale tout juste avant le Blit et le Flip?

    Merci de vos réponses!

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Si tu ne peux pas regénérer les images pour avoir de belles images pour ta nouvelle résolution alors je te conseille la deuxième solution.

    Tu généres tout sur une surface temporaire que tu agrandis une seule fois avant de faire le rendu sur la surface écran.

    Jc

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par fearyourself Voir le message
    Si tu ne peux pas regénérer les images pour avoir de belles images pour ta nouvelle résolution alors je te conseille la deuxième solution.

    Tu généres tout sur une surface temporaire que tu agrandis une seule fois avant de faire le rendu sur la surface écran.

    Jc
    Mais n'est-ce pas trop gourmand au niveau du CPU d'agrandir cette surface temporaire à chaque tour de boucle avant le blit/flip?

  4. #4
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut,

    Même si c'est plus gourmand, généralement ce n'est pas 'trop' gourmand (Le jeu a toujours un bon fps).

    Dans ton cas, la résolution est le double de ton ancienne (je veux dire 2 fois plus grande et 2 fois plus large), donc tu peux agrandir par 2 chaque image sans perte d'informations, et doubler les mouvements, ça n'enlèvera rien à la qualité du rendu. (ta première solution)

    Cependant la solution du zoom avant affichage est plus simple, et ce n'est pas ça qui va tuer ton PC (surtout avec de si petites surfaces)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    Salut,

    Même si c'est plus gourmand, généralement ce n'est pas 'trop' gourmand (Le jeu a toujours un bon fps).

    Dans ton cas, la résolution est le double de ton ancienne (je veux dire 2 fois plus grande et 2 fois plus large), donc tu peux agrandir par 2 chaque image sans perte d'informations, et doubler les mouvements, ça n'enlèvera rien à la qualité du rendu. (ta première solution)

    Cependant la solution du zoom avant affichage est plus simple, et ce n'est pas ça qui va tuer ton PC (surtout avec de si petites surfaces)
    D'accord, merci du conseil!

    Au fait, ceci est peut-être un peu hors-sujet.. mais je me demandais si c'est de cette façon (la 2e solution) que les émulateurs SNES procèdent pour ajuster l'image à la résolution choisi..?

  6. #6
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Lodis Voir le message
    D'accord, merci du conseil!

    Au fait, ceci est peut-être un peu hors-sujet.. mais je me demandais si c'est de cette façon (la 2e solution) que les émulateurs SNES procèdent pour ajuster l'image à la résolution choisi..?
    Cela dépend de l'émulateur je suppose

    Mais je pense que oui, c'est comment je le ferai.

    Jc

  7. #7
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par Lodis Voir le message
    D'accord, merci du conseil!

    Au fait, ceci est peut-être un peu hors-sujet.. mais je me demandais si c'est de cette façon (la 2e solution) que les émulateurs SNES procèdent pour ajuster l'image à la résolution choisi..?
    Il y a aussi des méthodes comme scale2x (hq3x, etc):
    http://scale2x.sourceforge.net/
    http://www.hiend3d.com/hq3x.html

    Ce qui conserve l'effet pixel art au détriment de la stabilité de l'animation ou l'effet sur le moiré (ce qui pourrait avoir un effet détrimental sur les vidéos mais rarement sur les vieux jeux).

    D'autres utilisent un effet "scanline" (en alternant ligne sombre et ligne claire pour simuler l'effet des vieux écrans à balayage avec un faible nombre de lignes).

    D'autres font du filtrage bilinéaire ou bicubique (ou autres formes polynomiales de degré n) ou par transformée de fourier, filtre lanczos (une autre décomposition en bases de fonctions).

    Bref tout dépend de quel type d'images tu as à traiter.
    Mais il faut tout de même noter que si c'est un jeu que tu programmes toi-meme et dont tu es l'auteur des graphismes tu peux créer le pixel art à la bonne résolution (contrairement aux émulateurs qui doivent faire avec l'art original).

    Faire la transformation sur le CPU peut-être couteux, l'idéal serait de faire tout le rendu sur le GPU mais bon ça peut être plus compliqué en dehors des redimensionnement simples (nearest, bilinear)..

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

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

Discussions similaires

  1. Canvas plein écran - gérer les résolutions
    Par Manu0086 dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 27/11/2013, 18h04
  2. [D5][SQL Server] Conserver des images dans la BDD
    Par FONKOU dans le forum Bases de données
    Réponses: 8
    Dernier message: 08/06/2008, 19h58
  3. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 15h34
  4. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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