¿Hay alguna guía para escribir sombreadores eficientes en GLSL? ¿El compilador maneja la mayor parte de la optimización?Consejos para un eficiente código GLSL
Respuesta
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.
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.
- 1. Consejos para leer el código ASM?
- 2. Consejos para trabajar con el código heredado
- 3. ¿Consejos para un código más elegante con mónadas?
- 4. Consejos de despliegue Código PHP
- 5. Consejos para escribir un DBMS
- 6. Consejos para la fusión manual de código divergente
- 7. C++ Consejos para la optimización de código en dispositivos ARM
- 8. GLSL GLSL y ES 2
- 9. Consejos para mantener un repositorio Maven interno?
- 10. Consejos para construir un sitio como stackoverflow
- 11. Algunos consejos para un embarque más efectivo?
- 12. Método más eficiente para el sombreador de detección de bordes GLSL
- 13. Consejos para desarrollar Penlets
- 14. Modo principal GLSL para Emacs?
- 15. GLSL PointSprite para sistema de partículas
- 16. ¿Cómo escribir código Java eficiente?
- 17. Comando GLSL break
- 18. Cómo depurar un sombreador GLSL?
- 19. Consejos para acelerar JDBC escribe?
- 20. GLSL para efectos de superficie de agua simples
- 21. ¿Cuáles son algunos consejos para optimizar el código de ensamblado generado por un compilador?
- 22. Django - Consejos para evitar la repetición de código en las vistas
- 23. Atajo de teclado para consejos
- 24. Consejos para refactorizar un esquema de base de datos obsoleto
- 25. Consejos prácticos para depurar la recurrencia profunda?
- 26. Buenos consejos para una presentación técnica
- 27. printf en GLSL?
- 28. ¿Tutorial actualizado de GLSL?
- 29. ¿Cómo obtener revisiones/consejos gratuitos sobre el código imparcial?
- 30. Consejos/recursos/patrones para aprender a implementar un ORM básico