> Нет, только простые алгоритмы.Игроделам поневоле приходится делать алгоритмы упрощенными, быстрыми и массово параллелизуемыми. Игроки не рендерферма, ждать не будут.
> уже проблемно. Нормально работает только обычный path tracing.
Да я не сомневаюсь что не любой алгоритм хорошо параллелится. Но GPU делали в основном под игроделов. С их подходами и алгоритмами. Ну и пришли в результате к массивам массово параллельных числодробилок. Если алгоритм хорошо параллелится - он на GPU словит EPIC WIN относительно CPU. А если нет - тогда никакого EPIC WIN не произойдет. У GPU частота невысокая, execution flow control неповоротливый. Если алгоритм плохо параллелится, CPU может взять крутизной отдельно взятого ядра, несмотря на их скромное количество.
> но может быть и медленнее чем без gpu вообще).
Значит такой алгоритм. GPU хорошо работают на алгоритмах которые можно раскидать в максимально параллельном виде. Нечто типа очень массового SIMD.
> 2-10раз, а может и вообще тупо всю память съесть при компиляции и упасть.
А вы это на открытом драйвере? На проприетарном?
> Приходится шаманить с кодом и подбирать версии драйверов.
В открытом драйвере всякий разный грабледром например не сильно редкое явление.
> Вот пример: http://www.archi3t.it/public/confronti/prove-flash.jpg
Ну и? У разных алгоритмов довольно разный результат.
> всех рендерингов они разные и не так просто их подогнать 1-в-1.
Там разное по-моему вообще все что может быть разным. Отражения посчитаны по разному. Где-то выключатель на стене почти не видно, а где-то он виден отлично. Я бы не стал утверждать что это такой уж одинаковый рендеринг.