Com a disponibilidade de sombreadores de computação para DirectX e OpenGL, agora é possível implementar muitos algoritmos sem passar pelo pipeline de rasterização e usar a computação de uso geral na GPU para resolver o problema.
Para alguns algoritmos, isso parece se tornar a solução canônica intuitiva, porque eles não são inerentemente baseados em rasterização, e os sombreadores baseados em rasterização pareciam uma solução alternativa para aproveitar a energia da GPU (exemplo simples: criando uma textura de ruído. Nenhum quad precisa ser rasterizado aqui )
Dado um algoritmo que pode ser implementado nos dois sentidos, existem benefícios gerais (potenciais) de desempenho sobre o uso de sombreadores de computação em relação à rota normal? Existem desvantagens que devemos observar (por exemplo, há algum tipo de sobrecarga incomum para alternar de / para calcular sombreadores em tempo de execução)?
Há talvez outros benefícios ou desvantagens a considerar ao escolher entre os dois?
fonte
Respostas:
Não há resposta certa se você se beneficiará diretamente da abordagem shadrs / GPGPU de computação, isso depende muito do tipo de algoritmo que você está implementando, shaders de computação e CUDA / OpenCL são uma abordagem mais generalizada para superar algumas das limitações das antigas linguagens de sombreamento hackeadas. os benefícios mais importantes que você terá:
Bem, na minha opinião , se você quiser seguir a rota de sombreadores de computação, mesmo que certos algoritmos possam ser mais adequados, há algumas considerações que você precisa levar em consideração:
No entanto, tenho certeza de que é ótimo para o futuro e será uma ótima experiência de aprendizado. Boa sorte!
fonte