2010-04-10 10 views

Respuesta

20

Consejos están aquí: Common mistakes in GLSL

También, evitar siempre que sea posible ramificación. Es decir, if y while declaraciones y declaraciones for que tienen una comparación con una variable, por ejemplo:

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

será lento. Sin embargo,

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

debería ser mucho más rápido, porque la mayoría de las veces se desenrolla el bucle, y cuando no lo son todas las unidades de sombreado todavía están ejecutando el mismo código, al mismo tiempo, lo que no hay pérdida de rendimiento.

En lugar de ramificar, intente utilizar la compilación condicional utilizando el preprocesador.

Además, consulte nVidia y ATI específicos #pragma s para ajustar la eficiencia.

2

Si bien muchas optimizaciones de c tradicionales funcionan para glsl, existen algunas optimizaciones específicas para GLSL. Si es nuevo en la programación de sombreadores, no gaste demasiado con optm, su compilador puede hacer trabajos extremadamente eficientes para usted. Puede recopilar algunas otras técnicas de optm avanzadas a medida que profundiza en la programación de gráficos. buena suerte.

Cuestiones relacionadas