Por exemplo, embora seja a GPU top de linha atual, a GTX 980 tem uma taxa de preenchimento impressionante de 72,1 gigapixels / segundo, que com renderização de frente para frente e / ou verificações de buffer Z, parece quase ridiculamente grande, possivelmente até em resoluções de 4k. No que diz respeito à contagem de polígonos, as GPUs modernas podem executar dezenas a centenas de milhões de triângulos texturizados sem problemas, se você os agrupar e / ou instanciar adequadamente.
Com a renderização direta, a quantidade de fragmentos que os shaders executam pode se tornar rapidamente esmagadora, mas, com a renderização adiada, o custo geralmente é mais ou menos constante, dependendo da resolução, e há muito tempo passamos por um ponto em que a maioria das sombras ou efeitos de pós-processamento podem ser feitos em tempo real em 1080p.
De qualquer maneira, hoje em dia os fatores limitantes são as contagens de chamadas mais comuns e os custos de sombreamento, os quais são mantidos relativamente baixos pela renderização adiada adequada e por lotes de geometria, portanto, com isso em mente, está selecionando mais do que apenas backfaces e out-of- polígonos frustrum de algum benefício substancial? Os custos (tempo de CPU / GPU, tempo de programador) não superam os benefícios, na maioria das vezes?
fonte
Respostas:
Sim, o abate de oclusão ainda vale a pena.
No mínimo, uma chamada de desenho que você pulou devido à seleção é uma chamada de desenho que não precisa executar o sombreador de vértice. A contagem de triângulos aumenta tão rapidamente quanto as GPUs começam a suportar mais triângulos, por que não? Com arquiteturas unificadas, os sombreadores de vértices usam exatamente o mesmo hardware que os sombreadores de pixel, portanto, todos os vértices que você pula por causa do abate são mais tempo de computação para as coisas que você pode ver. Sem mencionar todas as outras coisas que você está pulando (processamento de chamada de empate da CPU e jogando o tris longe o suficiente pelo pipeline para que o rasterizador perceba que não precisa sombrear).
Houve uma ótima apresentação de dois estúdios da Ubisoft no SIGGRAPH 2015 sobre os pipelines de renderização acionados por GPU. Na superfície, trata-se de algumas das coisas que você mencionou: agrupar e instalar, reduzindo as contagens de chamadas em sorteio. Mas uma das principais vantagens que eles obtêm de um pipeline acionado por GPU é o descarte de oclusão incrivelmente refinado: descarte melhor do que você normalmente veria no nível de draw-call. Está tudo a serviço de se aproximar assintoticamente do objetivo: processar apenas o que você pode ver, o que significa que o que você pode ver parece melhor.
(Além disso: considere console, celular, VR e área de trabalho sem a maior e mais recente GPU que o dinheiro pode comprar. Mesmo que todos os seus tris desapareçam na brecha escancarada do seu topo de linha) GPU de linha, talvez você não seja o alvo principal.)
fonte
Depende do estilo do jogo, quanto é necessário selecionar. Por exemplo, atiradores em primeira pessoa se beneficiam muito com isso, tendo muitas coisas frustradas a qualquer momento, enquanto uma visão aérea do RTS não acontece, já que você está efetivamente vendo um avião com coisas nesse avião. Mesmo em um RTS, ainda é útil fazer uma "renderização somente em profundidade" para eliminar o excesso.
fonte