Чи є якась користь від спільного використання шейдерів між програмами?


14

OpenGL дозволяє ділитися одним шейдером між кількома програмами. Окрім економії невеликої кількості пам’яті та рукоятки шейдера, чи є якісь переваги для роботи GPU для цього?

Відповіді:


3

Я сумніваюся, що є переваги продуктивності GPU.

Якщо, наприклад, ви прив'язуєте загальний шейдер до програми, ефективна реалізація повинна мати змогу видаляти невикористані атрибути між цим шейдером та іншими шейдерами в цій програмі і, можливо, навіть спростити логіку шейдера в результаті. Звичайно, це не є реальною вигодою від налаштованої вручну комбінації шейдерів, але це допомагає керувати складністю / комбінаторикою та, можливо, зменшити кількість компіляцій, які повинен робити драйвер.

Однак можуть бути недоліки цього в плані неефективних реалізацій драйверів-компіляторів. А ще там є деякі, перевірте: http://aras-p.info/blog/2010/09/29/glsl-optimizer/ лише прості прості речі, які в деяких реалізаціях можуть помилитися.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.