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 :

Un grand nombre de mesh


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de funkydata
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 515
    Par défaut Un grand nombre de mesh
    Bonjour,
    je souhaiterais si possible que vous éclairiez ma lanterne.
    Je voulais tester la montée en charge de mon moteur 3d et pour cela j'affiche un champs d'asteroids composé d'une centaine de mesh tous texturés par un shader. Bon je perds 150 fps par rapport à ma scene de base dans l'operation... normal.
    Je voulais vérifier ce chiffre donc je déactive le rendu des meshs tout en gardant leur initialisation et bizarement je perds toujours 130 fps... je déactive l'initialisation de mes meshs et la plus de soucis je recupère tous mes fps.

    Dans quel mesure est-il possible de perdre 130 fps alors que le rendu de mes meshs est désactivé et que seul leur initialisation est effectuée ?

    Y-a-t'il un moyen d'afficher x meshs basé sur un mesh de base sans avoir à créer x clones de celui-ci ?

    Merci pour vos réponses

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    je perds toujours 130 fps
    Parler en FPS n'a pas de sens. Chuter de de 1000 à 870 n'aura rien à voir avec une chute de 135 à 5.

    Dans quel mesure est-il possible de perdre 130 fps alors que le rendu de mes meshs est désactivé et que seul leur initialisation est effectuée ?
    Tu satures sans doute la mémoire vidéo.

    Y-a-t'il un moyen d'afficher x meshs basé sur un mesh de base sans avoir à créer x clones de celui-ci ?
    Oui, et il vaut mieux le faire comme tu as pu le constater
    Au lieu de cloner ton modèle, tu va pointer sur la même mesh en mémoire, et au niveau de ton instance tu ne vas stocker que les choses spécifiques : matrice de transformation etc. La géométrie elle ne sera pas dupliquée.

  3. #3
    Membre éclairé
    Avatar de funkydata
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 515
    Par défaut
    Citation Envoyé par Laurent Gomila
    Parler en FPS n'a pas de sens. Chuter de de 1000 à 870 n'aura rien à voir avec une chute de 135 à 5.
    Je chute de 200 à 70


    Citation Envoyé par Laurent Gomila
    Tu satures sans doute la mémoire vidéo.
    C'est ce que je pensais aussi

    Citation Envoyé par Laurent Gomila
    Oui, et il vaut mieux le faire comme tu as pu le constater
    Au lieu de cloner ton modèle, tu va pointer sur la même mesh en mémoire, et au niveau de ton instance tu ne vas stocker que les choses spécifiques : matrice de transformation etc. La géométrie elle ne sera pas dupliquée.
    J'ai fait les modifs sans gain de performance pour l'instant Je comprends pas trop... ca ne doit pas être une saturation de la mémoire vidéo. Que je pointe sur la géométrie du mesh ou que je le clone je n'ai pas de différence au niveau fps... ca doit saturer autre part mais ou ?
    C'est trés bizarre... j'ai désactiver mon shader je gagne 3-4 fps max, je vire ma texture pareil 3-4 fps... je force l'affichage de mon LOD le plus bas... pareil ! Il y a un goulot d'étranglement quelque part mais ou ?

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il y a un goulot d'étranglement quelque part mais ou ?
    http://jeux.developpez.com/faq/3d/?p...NIQUES_goulots

  5. #5
    Membre éclairé
    Avatar de funkydata
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 515
    Par défaut
    Ca y est j'ai trouvé !! Je sentais le problème à 2 francs mais la !!
    La perte de mes FPS n'était pas du à directx ni même à mon programme mais à c#...
    Si je compile mon appli et que je lance l'executable en dehors de l'ide visual studio je gagne 150 fps et quand je modifie la géometry, le shader , les textures, les fps varient cette fois, de manière logique, en fonction des changements.
    L'ide de visualstudio en mode debug n'aime pas les boucles de rendu

    Ce problème étant réglé, j'ai une autre question... est-il exacte que la fonction "lock" et "unlock" des verterbuffers est trés gourmante en performances ?

  6. #6
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Oui, ca casse le paralellisme entre GPU et CPU, et ca necessite des aller-retour avec la memoire centrale (pour des buffers stockes sur la memoire video). C' est a peu pres ce qu' il y a de pire. Cependant il y a des situations ou tu n' as pas le choix.

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

Discussions similaires

  1. Vitesse et grand nombre de tuples...
    Par TitiFr dans le forum Bases de données
    Réponses: 9
    Dernier message: 07/07/2005, 14h04
  2. Réponses: 3
    Dernier message: 22/05/2005, 12h59
  3. requete sql sur un grand nombre d enregistrement
    Par marielaure dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/08/2004, 11h53
  4. Traitement d'un grand nombre de champ
    Par k-lendos dans le forum Langage SQL
    Réponses: 8
    Dernier message: 17/03/2004, 15h13
  5. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 12h07

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