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 :

Le DrawPrimitive doit il faire partie de la fonction Render?


Sujet :

DirectX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 55
    Points : 24
    Points
    24
    Par défaut Le DrawPrimitive doit il faire partie de la fonction Render?
    Si on charge des images en boucle sous forme de textures et qu'on les plaque sur un objet 3D,
    est ce qu'on est obligé au moment du render de redessiner à chaque fois avec DrawPrimitive (et ses semblables) ou peut - on simplement renouveler uniquement la texture?

  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
    Explique un peu plus le contexte, tu veux faire quoi au juste ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    Je cherche toujours optimiser ma fonction de rendu, et il me semble que la fonction DrawIndexedPrimitive demande beaucoup de calcul à l'UC (sans doute du fait du grand nombre de primitives que j'utilise). Pour l'instant, je fait un appel à cet fonction toutes les fois que je renouvelle mon image et je souhaite atteindre 50 fois par seconde. J'observe un taux d'occupation du CPU de 100% et le frame rate diminue et il est bien en deça du niveau espéré. D'où mon souhait d'optimiser.

    Alors est il possible d'appeler DrawIndexedPrimitive() en dehors de la fonction de rendu (c'est à dire pas entre BeginScene() et EndScene() )?
    Je n'aurais besoin que de redéfinir la texture à plaquer à ce moment là et non redessiner à chaque fois ma forme (elle ne subit aucune transformation ni modification de paramètre)

    Je voudrais pouvoir séparer le dessin de la forme géométrique du plaquage de la texture, ne dessiner qu'une seule fois l'espace de projection et ne renouveler que la texture dynamiquement et l'afficher sur la même forme géométrique à chaque fois que je prend une nouvelle image. Sais tu si on peut réaliser celà?

  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
    Tu as une mauvaise approche de la chose, il faut garder en tête que tu fais du bas niveau. Ta carte 3D ne va pas garder ton objet en mémoire, si tu ne lui envoies pas la géometrie à chaque frame tu n'auras pas grand chose à l'écran.

    A mon avis ton problème de performance vient d'ailleurs. Tu affiches combien de polygones ? Tu effectues quels traitements à chaque frame ?

Discussions similaires

  1. [Scrum] comment doit on faire les spécifications et autres questions
    Par loic_midy dans le forum Méthodes Agiles
    Réponses: 6
    Dernier message: 18/01/2009, 18h56
  2. Réponses: 3
    Dernier message: 19/10/2008, 20h17
  3. Réponses: 11
    Dernier message: 06/09/2007, 18h09

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