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

DirectX Discussion :

[DirectDraw] Que faire pour optimiser le rendu ???


Sujet :

DirectX

  1. #1
    mat.M
    Invité(e)
    Par défaut [Résolu][DirectDraw] Que faire pour optimiser le rendu ???
    Bonjour à tous ,
    voilà après des heures et des heures , des mois de développement , mon jeu de stratégie 2d commence à prendre forme avec effets d'explosions , de fumée etc...
    Sur ma machine personnelle ( Intel Celeron 533 , 192 Mo Ram , carte video 16 Mo de RAM Voodoo ) , l'affichage s'effectue sans problèmes et j'obtiens une moyenne de 50 FPS ( images par sec ) environ.
    Ma machine est plutôt une vieille configuration comme on peut le remarquer mais je ne veux pas que l'utilisateur final possède forcément une configuration dernier cri.

    Mais catastrophe , horreur , après tant d'efforts , sur une autre machine avec une carte video de 8M0 mais plus de 256 Mo de RAM et processeur >1Ghz l'affichage "rame".
    Il ne me reste plus qu'à me jeter par la fenêtre.
    Le curseur souris du jeu n'est pas système c'est une bitmap à la place affichée avec IDirectDraw7::BltFast et pour le déplacer ça rame.
    Le déplacement des objets animés est fortement ralenti.

    Quel est le meilleur ? :
    J'en suis resté à DirectDraw7 . Merci de ne pas me dire qu'il faille passer à Direct Graphics , cela augmenterait la charge de temps de travail et développement .
    Je verrai cela plus tard et ma carte video ne semble pas compatible
    BltFast ou Lock/Unlock
    faut-il que j'optimise en assembleur ?
    des suggestions ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    A priori ton problème vient du fait que tu satures la ram vidéo dans le cas de la carte 8Mo. Tu peux essayer de réduire la taille de tes surfaces suivant les capacités de la carte vidéo sur laquelle le jeu doit tourner.

    Inutilie de passer à DX8/9 dans ton cas, c'est évident en plus ça ramerait d'avantage du fait de la consommation mémoire surement plus importante.

    Surtout ne fait pas de lock/unlock ou alors il va te falloir un pc high-end pour pouvoir faire tourner ton jeu. De plus si ça tourne bien sur ta config c'est que le problème ne se trouve pas la.

    Comme je pense que ton problème se trouve au niveau de l'occupation mémoire vidéo, je doute qu'optimiser en assembleur fasse grand chose. Et je doute que tu fasses un meileurs code que celui produit par ton compilateur.

    Bonne chance.

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Merci Viquel ,
    effectivement pour distribuer le jeu il y aura 2 versions : une avec graphismes 8 bits et autre 24 bits

    Surtout ne fait pas de lock/unlock ou alors il va te falloir un pc high-end
    pour pouvoir faire tourner ton jeu. De plus si ça tourne bien sur ta config c'est que le problème ne se trouve pas la.
    Peux-tu préciser plus , Ces méthodes sont elles plus lentes que BltFast ou Blt ?

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 79
    Points : 37
    Points
    37
    Par défaut
    ca dépend ce que tu veux faire, les blt c bien pour ajouter des choses à ton image, mais tu ne peux pas modifier ta surface de rendu avec. Alors qu'avec un lock tu peux, mais c'est horriblement long. Dans le cas d'ajout d'image sur la surface de rendu, les blt sont bcp bcp plus rapide.

  5. #5
    mat.M
    Invité(e)
    Par défaut
    Merci pour cette précision cemoi mais je ne souhaite juste qu'afficher des bitmaps sans transformations ou altération.
    Juste des bitmaps "brutes de formes" sauf évidemment avec masque et indice de couleut de transparence

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 79
    Points : 37
    Points
    37
    Par défaut
    dans ce cas là, le blt c'est le mieu je pense. si tu veux je peux t'envoyer un exemple de code tiré du livre Gurus. c'est assez bien expliqué dedans.

  7. #7
    mat.M
    Invité(e)
    Par défaut
    Bon merci encore à tous le monde.
    je viens de faire un test avec graphismes en 256 couleurs mode vidéo 8 bits .
    Y A PAS PHOTO !
    Framerate en mode vidéo 24 bits :à peine 9 images /secondes
    FRamerate en modevidéo 8 bits : 75 i/s !!!

    ça m'enlève une épine du pied !

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 79
    Points : 37
    Points
    37
    Par défaut
    ok tan mieu si t'as reussi, mais juste pour savoir, t'as utilisé ce que je t'ai donné ?

    @+

    cemoi

  9. #9
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par cemoi
    ok tan mieu si t'as reussi, mais juste pour savoir, t'as utilisé ce que je t'ai donné ?

    @+

    cemoi
    Eh bien à vrai dire partiellement mais j'ai des tonnes de code source concernanrt Direct Draw .
    J'ai pas moins de 3 livres sur Direct X dont le livre de SAM'S , celui de Microsoft Press.
    Mais merci tout de même.

Discussions similaires

  1. [humour]Que faire pour un anniversaire?
    Par afrodje dans le forum La taverne du Club : Humour et divers
    Réponses: 80
    Dernier message: 19/02/2008, 17h26
  2. Réponses: 3
    Dernier message: 02/05/2007, 10h23
  3. Que faire pour être économe et écologiste
    Par bakaneko dans le forum Écologie
    Réponses: 1
    Dernier message: 07/03/2007, 09h54
  4. Réponses: 4
    Dernier message: 01/12/2006, 15h41
  5. [conseils]Que faire pour m'entraîner?
    Par nicolaskarp dans le forum Général Java
    Réponses: 8
    Dernier message: 21/07/2005, 00h36

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