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?
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#pragma
s, aby poprawić wydajność.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.
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