| |||||
| Dernière réponse | |
|---|---|
| Sujet : [D3D] Technique | |
| LeGreg | reponse: ca depend. ca depend des contraintes et ce que tu veux faire avec ton moteur. Un vertex buffer est notoirement plus rapide quand il est en ecriture seule. Donc si tu peux, tu le mets en ecriture seule sauf si c'est un buffer de pretraitement (par exemple tu veux modifier les donnees transformees mais c'est contre performant, a reserver pour des effets tres speciaux et rares). De plus un certain nombre de donnees sont dynamiques et changent a chaque frame. (certaines formes de lod, vertex skinning sans passer par les capacites de dx8). Autre facteur a considerer le switch entre vertex buffer est couteux. Donc autant que possible limiter ce switch surtout que ce n'est pas la seule chose a changer (renderstates, textures etc..) entre les objets. Donc limiter si possible le nombre de vertex buffers (ceux de DX s'entend tes donnees a toi tu les stockes comme tu veux). Si possible utiliser du padding pour rendres les formats de vertex compatibles et donc limiter les switchs. Mettre les donnees de vertex dans un ordre de lecture lineaire surtout s'ils ne sont pas alignes sur 32 ou 64 bits. utiliser les indices et les caches de vertex si possible. optimiser les strips. etc... etc.. Evidemment si tu te fous de la performance tu fais comme tu veux c'est beaucoup moins prise de tete. A+ LEGREG |
| Vue Rapide de la discussion |
|---|