2010-04-10 3 views

Répondre

20

Quelques conseils sont ici: Common mistakes in GLSL

Aussi, évitez de branchement lorsque cela est possible. Autrement dit, if et while déclarations et for déclarations qui ont une comparaison avec une variable, par exemple:

for (int i=0; i<n; i++) {} 

sera lente. Cependant,

for (int i=0; i<10; i++) {} 

devrait être beaucoup plus rapide, parce que la plupart du temps la boucle est déroulée, et quand il est pas toutes les unités d'ombrage exécutent toujours le même code en même temps, donc il n'y a pas de pénalité de performance.

Au lieu de se ramifier, essayez d'utiliser une compilation conditionnelle à l'aide du préprocesseur.

En outre, consultez nVidia et ATI spécifiques #pragma pour ajuster l'efficacité.

2

Alors que de nombreuses optimisations c traditionnelles fonctionnent pour glsl, il existe des optimisations spécifiques pour GLSL. Si vous êtes nouveau dans la programmation de shader, ne dépensez pas trop avec optm, votre compilateur peut faire des travaux extrêmement efficaces pour vous. Vous pouvez rassembler quelques autres techniques optm avancées que vous plongez plus profondément dans la programmation graphique. bonne chance.