2 votes

Vitesse d'écriture de DirectCompute dans la mémoire tampon

Je travaille sur une simulation de particules et j'ai rencontré un petit goulot d'étranglement. L'utilisation d'UAV pour écrire dans un tampon flottant unique RWStructured est environ 10 fois trop lente. D'après l'expérimentation, il semble qu'il n'y ait pas de pénurie de bande passante, mais que le temps d'accès lui-même soit un obstacle. L'écriture en appendice est hors de question puisque les données sortantes doivent être dans un ordre spécifique. Tout ceci se fait sur du matériel DX10/SM4, voici donc quelques questions : Existe-t-il un moyen d'accélérer les choses (autre que d'écrire de plus gros morceaux de données puisque les sorties des shaders ne sont pas consécutives) ? Sinon, le matériel de niveau DX11 est-il plus rapide avec les drones ?

0voto

catflier Points 5637

La première chose à faire (si vous ne l'avez pas déjà fait), pour profiler votre code shader, est d'ajouter des requêtes GPU à votre système. Voici un lien pour l'expliquer :

http://mynameismjp.wordpress.com/2011/10/13/profiling-in-dx11-with-queries/

Il est en dx11 mais les fonctionnalités sont en dx10 aussi, donc il devrait être très simple de le porter.

Après, dans le calcul, il y a différents aspects, mais le premier serait de jouer avec :

[numthreads(TGX, 1, 1)]

Essayez des valeurs comme 8, 16, 32, 64 et essayez de trouver le point idéal (n'oubliez pas de diviser sur votre répartition).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X