Hello,
J'ai un pixel shader qui ressemble à ceci:
Nombre de fps que j'obtiens avec ce shader: 44fps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for(int j=0; j<100;j++) { //.. float NdotL = dot(normal, vertexToLightNormalized); if(NdotL > 0.0001){ color += att * (diffuse * NdotL); } }
Si je change mon shader comme ceci:
Nombre de fps que j'obtiens avec ce shader: 107fps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for(int j=0; j<100;j++) { //.. float NdotL = max(dot(normal, vertexToLightNormalized), 0.0); color += att * (diffuse * NdotL); }
La difference de fps me parait assez énormeeeee: comment ça peut s'expliquer ?
Existe t-il des articles sur Internet qui parle de l'optimisation des pixel shaders ?
Merci d'avance.
Partager