Wskazówki dotyczące efektywnego kodu GLSL [zamknięty]

Czy są jakieś wytyczne do pisania wydajnych shaderów w GLSL? Czy kompilator obsługuje większość optymalizacji?

Author: Brynn Mahsman, 2010-04-10

2 answers

Oto kilka porad: najczęstsze błędy w GLSL

Również, unikać rozgałęzień, gdy to możliwe. To znaczy, if i while, oraz for, które mają porównanie ze zmienną, na przykład:

for (int i=0; i<n; i++) {}
Będzie wolno. Jednakże
for (int i=0; i<10; i++) {}

Powinno być znacznie szybsze, ponieważ przez większość czasu pętla jest rozwijana, a gdy nie wszystkie jednostki cieniujące nadal wykonują ten sam kod w tym samym czasie, więc nie ma wydajności kara.

Zamiast rozgałęziać, spróbuj użyć kompilacji warunkowej przy użyciu preprocesora.

Sprawdź również NVIDIA i ATI specific #pragmas, aby poprawić wydajność.
 20
Author: GhassanPL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-12 14:15:47

Podczas gdy wiele tradycyjnych optymalizacji c działa dla glsl, istnieją pewne specyficzne optymalizacje dla GLSL. Jeśli jesteś nowy w programowaniu shaderów, nie wydaj zbyt wiele z optm, Twój kompilator może wykonać bardzo wydajne zadania dla Ciebie. Możesz zebrać kilka innych zaawansowanych technik optm, jak zanurzyć się głębiej w programowaniu Grafiki. powodzenia.

 2
Author: Defd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-13 04:17:48