O embargo para a captura de vídeo do belo mapa de Roterdão de Battlefield 5 terminou há uns dias, que fica ainda mais bonito quando reproduzido em RTX - a nova tecnologia de ray-tracing da Nvidia para as suas próximas placas da série 20. Tivemos a oportunidade de experimentar uma versão RTX do jogo e conversar directamente com os engenheiros gráficos responsáveis. Como funciona o ray-tracing? Quais são as suas limitações? E sendo que o desempenho é um tema tão badalado em torno dos títulos RTX, quais são os planos da DICE para optimização futura e adição de recursos?

O desempenho está sob o microscópio em relação ao RTX, em particular com Shadow of the Tomb Raider, que teve problemas perceptíveis na taxa de fotogramas na demo que experimentámos nos bastidores. No entanto, o que temos que perceber é que estes são os primeiros dias para a produção de jogos usando RTX. A Nvidia conferiu às produtoras hardware Titan V no início deste ano - mas isso não possui aceleração específica de ray-tracing. As placas podem ser usadas em paralelo para oferecer algo próximo do desempenho real do RTX, mas o resultado final é o seguinte: a DICE tinha apenas duas semanas com o hardware final, que foi apelidado simplesmente como 'Nvidia Graphics Device' no gestor de dispositivos. Em suma, a produtora não sabia ao certo com qual dispositivo RTX estava a trabalhar. E, como vamos descobrir, ainda há muito trabalho a ser feito antes do lançamento para optimizar uma exibição já impressionante.

O ray-tracing da demo é usado para renderizar reflexos especulares em Battlefield 5 - substituindo aproximações falsas de rasterização, incluindo mapas de cubos padrão e reflexos screen-space. O ray-tracing alinha-se perfeitamente com outras fontes iluminadas do mundo, incluindo as luzes da área, o sol ou a iluminação do céu. Para teres uma ideia do que os reflexos de RT fazem de maneira diferente e melhor, é importante apontar as limitações dos sistemas que substitui.

Os reflexos screen-space são exactamente isso - a cena renderizada é usada para informações de reflexos e, por sua vez, isso introduz limitações profundas. Qualquer objecto ocluso na tela (pela arma da visão, por exemplo) não pode ser reflectido - nem qualquer imagem do mundo que não esteja no ecrã. Quando os reflexos do screen-space não funcionam, o jogo retorna a um reflexo do mapa do cubo. Um mapa de cubo é uma captura estática de baixa resolução, fisicamente incorrecta do mundo do jogo, e nem mesmo do ponto onde o reflexo é necessário. Semelhante à maioria dos jogos, os reflexos screen-space em Battlefield 5 não se aplicam a superfícies transparentes como vidro. Se eles são aplicados a algo transparente, como a água, por exemplo, isso requer uma passagem extra -um trabalho acrescido que possui os mesmos erros e limitações que já discutimos.

Assistimos a uma demonstração convincente, mas esta é a aparência real do RTX em Battlefield 5.

Existem ainda outros problemas de fidelidade. Para economizar no desempenho, os reflexos screen-space em Battlefield 5 são executados a metade da resolução e possuem um corte conservador propositado em relação aos objectos que são testados para terem reflexos screen-space. A isto chama-se corte de rugosidade, o que significa que objectos de certa rugosidade - mesmo que tecnicamente tenham um pouco de reflexo - deixam de ter reflexos screen-space. Isto é feito para fins visuais e de desempenho, uma vez que as reflexos que apareceriam neles poderiam ter uma aparência estranha devido às suas limitações.

Resumindo, o Battlefield 5 sem RT usa técnicas comummente encontradas em muitos jogos. É uma implementação forte, em geral, mas não sem o seu próprio custo no desempenho (reflexos screen-sapce são desactivados em Battlefield 1 na consola, por exemplo). Com o RTX activado, estamos perante uma apresentação radicalmente melhor, obviamente mais correcta. Os reflexos são de resolução total e têm um corte de rugosidade menos conservador, de modo que se aplicam a mais objectos na tela, tornando essas superfícies mais próximas da realidade.

Ao contrário dos mapas de cubo ou do SSR padrão no Frostbite, os reflexos do ray-tracing respeitam muito mais realidades de iluminação e sombras de superfícies. Isso torna os materiais mais próximos das suas contra-partes reais: os reflexos RT parecem mais ou menos claros com base no tipo e rugosidade de uma superfície, e também são esticados de forma adequada e realista. Este brilho variável e o seu alongamento cria algumas diferenças visuais interessantes entre os próprios reflexos. Um teste interessante é olhar para ti mesmo reflectido numa janela e, em seguida, tentar a mesma coisa num carro brilhante, para veres como a aparência do personagem muda numa variedade de superfícies. Mesmo um mapa de cubo actualizado em tempo real colocado directamente no local do carro (como vês em muitos jogos de corrida) não pareceria preciso.

Assim, aplicando à jogabilidade, podes finalmente ver reflexos de ti mesmo em objectos como espelhos e, ao contrário do SSR, também vês objectos fora da tela com reflexos ray-traced. Curiosamente, podes agora ver além das esquinas. E enquanto Battlefield 5 não possui um verdadeiro sistema de primeira pessoa (onde os modelos de primeira e terceira pessoa são os mesmos), os reflexos ainda conseguem capturar o teu modelo de terceira pessoa se alinhados com o teu ponto de vista. Uma vez que eles estão a ser construídos na passagem opaca do RT, podes ver reflexos da tua personagem em todos os lugares, sendo tecnicamente possível veres-te a ti mesmo e outros modelos de personagem em terceira pessoa dentro de uma scope de uma rifle. Então, sim, com ray tracing, podes ver o jogador a esgueirar-se atrás de ti para uma stealth kill.

A equipa do Digital Foundry senta-se para discutir o lançamento do GeForce RTX durante a Gamescom na semana passada.

Além de serem fisicamente mais precisos ao comportamento real da luz, os reflexos RT em Battlefield 5 também mostram reflexos precisos das partículas do CPU, como a transparência alfa de fogo ou fumo e, contrariamente ao SSR, elas também são reflectidas na profundidade adequada sem descontinuidade. Novamente, isto pode ajudar a jogabilidade - por exemplo, explosões que ocorrem fora do ecrã podem ser captadas pelo jogador através dos reflexos RT. Como muitas optimizações gráficas são baseadas simplesmente em renderizar o que está no ecrã, há implicações adicionais de desempenho aqui. Num nível básico, a contagem de draw call aumenta - os detalhes do ambiente nos reflexos precisam de ser processados, por exemplo, quando ele seria simplesmente descartado fora do modo RT. A enorme quantidade de detalhes potenciais para reflectir também apresenta desafios óbvios.

Para economizar no desempenho, a implementação do ray-tracing em Battlefield 5 tem alguns truques e optimizações que mudaram durante a produção e vão continuar a mudar até ao lançamento. No evento de captura, notámos algumas dessas optimizações e conversámos directamente com os engenheiros da DICE sobre elas. Durante a produção, a equipa da DICE estava a desenvolver o jogo em placas Titan V sem os núcleos de aceleração de hardware para ray-tracing; então, eles estavam a criar o jogo a taxas de fotogramas muito mais baixas e utilizando mais esquemas de optimização para manter o desempenho elevado. As GPUs Turing com aceleração de hardware são muito mais poderosas, mas ainda tinham essas configurações mais conservadoras definidas por padrão na build que vimos, embora fossem desnecessárias para o desempenho com o envio de hardware RTX.

As configurações desta demonstração, como vistas no vídeo desta página, usam uma versão com menor fidelidade da cena opaca construída pelo GPU para que os raios sejam disparados através dela. Essa cena é chamada de bounding volume hierarchy ou BVH - o que estás a ver no nosso vídeo mostra os reflexos do jogo construídos em torno da geometria LOD 1, que é menos arredondada e com detalhes gerais mais baixos. Foi-nos mostrado um ajuste .ini para trocar a geometria LOD 0 de detalhe alto (está no vídeo, já agora) que produziu reflexos aprimorados sem nenhuma quebra do desempenho, e essa é a qualidade que veremos no jogo final.

Naturalmente, existe uma série de outros truques e optimizações interessantes que são implementados para garantir um desempenho consistente de 60fps na resolução de 1080p. Em vez de deixar os raios movimentarem-se continuamente, o segundo raio de reflexo de um reflexo - o reflexo do reflexo, caso seja mais fácil - não é devolvido ao BVH. Em vez disso, o raio é disparado de volta para os mapas de cubos pré-renderizados já espalhados pelo nível do jogo para a apresentação padrão. Isto significa que reflexos dentro de reflexos - como a reflexo de um capacete de uma personagem visto num espelho - são versões mais precisas de reflexos dos mapas de cubo padrão.

A demonstração oficial da GeForce RTX para Battlefield 5, a rodar numa RTX 2080 Ti.

Apesar da DICE ter conseguido uma óptima qualidade dos raios que dispara, os resultados não filtrados do ray-tracing são ainda bastante barulhentos e imperfeitos. Para limpar esse ruído, é usado um filtro temporal personalizado, além de um filtro espacial separado para garantir que os reflexos nunca se quebrem e se transformem em algo mais granulado. Curiosamente, isso significa que a DICE não está actualmente a usar os núcleos tensor da Nvidia ou filtros de remoção de ruído para limpar os reflexos de ray-tracing. Mesmo assim, o des-noise funciona maravilhosamente em geral e os reflexos do RT são dramaticamente mais nítidos e temporalmente mais estáveis e precisos do que os mapas de cubo do jogo padrão e os reflexos screen-space. A única área onde o denoising é imperfeito agora é em superfícies transparentes com um certo brilho, onde poderás vê-las a aparecer visivelmente mais granuladas.

As optimizações são muitas, mas é importante enfatizar que ray-tracing como este é ainda muito caro do ponto de vista computacional, mesmo com aceleração de hardware dedicada. A implementação RTX como está agora é projectada para mantê-lo acima de 1080p60 numa RTX 2080 Ti. As estações da demo foram bloqueadas para a resolução de 1080p do display com uma taxa de actualização alta, mas o escalador interno permitiu-nos simular resoluções de 1440p e 4K. No primeiro, obtivemos taxas de framerate na área dos 40-50fps, mas a 4K cai para sub-30. Conversando com a DICE depois, descobrimos que que o jogo estava a correr com 4K e RTX activado. É realmente o início da implementação e do hardware final, por isso mesmo as produtoras não têm certeza sobre o alcance da tecnologia.

Neste momento, a nossa preocupação prende-se com o facto de, caso a RTX 2080 Ti seja o alvo, então como se comportam as RTX 2070 e RTX 2080, ambas com menor aceleração do ray-tracing? Bem, existem duas partes na equação do desempenho que ainda estão a ser analisadas antes do lançamento. Por enquanto, a resolução do ray-tracing é uma correspondência de 1: 1 com a resolução de renderização escolhida - portanto, o ray-tracing é feito em 4K, se a resolução de renderização for 4K, por exemplo. Da mesma forma, o tamanho dessas estruturas da BVH na memória da GPU não só aumenta e diminui com base na complexidade da cena, mas também aumenta a resolução, de modo que existem implicações de VRAM aqui.

Adaptar o jogo para trabalhar em diferentes níveis de hardware a diferentes taxas de fotogramas e dentro de diferentes limitações de memória está a ser activamente investigado. Para permitir que os utilizadores atinjam as metas de taxa de fotogramas desejadas com reflexos RT, os engenheiros da DICE mencionaram o seu desejo de dar ao jogador maior controlo sobre a qualidade do ray-tracing em comparação com o resto dos visuais do jogo. Isso pode significar controlar a quantidade de raios capturados por pixel ou dimensionar a resolução do RT, independentemente da resolução de renderização. Para ilustrar, ray tracing pode ser renderizado a 1080p ou menos, enquanto o resto do jogo é realmente renderizado a uma resolução maior. Outras opções possíveis incluem upscaling inteligente de saídas RT com resolução mais baixa, usando reconstrução baseada em AI ou mesmo checkerboarding.

Uma primeira olhada à versão não-RTX de Battlefield 5 na sua alfa fechada, correndo no PC com definições ultra.

Dado o quão nítidos e precisos já são os reflexos a 1080p, imagino que essa seria uma óptima forma de permitir que os jogadores obtenham melhores taxas de fotogramas ou resoluções maiores, mantendo o RTX activado. Em suma, trata-se de dar os controlos deslizantes e seleccionáveis adequados ao jogador, em vez de uma simples alternância entre ligar / desligar. Até à revelação da GeForce RTX, o que vimos do ray tracing era quase como um sonho, obtido com o poder de quatro GPUs GV100 Volta a correr em paralelo. Está agora numa placa a nível do consumidor - uma conquista incrível por si só - mas a ideia de que estás a obter RT gratuitamente juntamente com um desempenho 3D padrão simplesmente não é realista.

Mas isso não quer dizer que optimização adicional não seja possível. Antes do lançamento, a DICE está também à procura de outras formas de acelerar o ray tracing, mantendo o mesmo nível de fidelidade. Por exemplo, a equipa notou que as contagens de triângulo no BVH não estão a afectar muito o desempenho do RT, e é por isso que nos mostraram o ajuste de LOD com o qual o jogo final será lançado. Embora os valores de geometria não afectem muito o desempenho do RT, eles notaram que a quantidade de instâncias que estão a ser construídas possuem um efeito no desempenho. Podes imaginar uma instância como sendo a porta de uma casa, que é separada de outras instâncias ou objectos da casa, como as suas paredes, os seus pisos e os objectos dentro dela. Assim, a equipa está a investigar uma possível fusão dessas instâncias, de modo a que todas as partes da mesma casa sejam colocadas na mesma estrutura de aceleração - reduzindo a quantidade de instâncias separadas, mas mantendo a mesma quantidade de triângulos. Com base apenas nessa optimização, projecta-se um aumento de 30% no desempenho.

De igual forma, a produtora está à procura de formas de utilizar o hardware de ray-tracing o mais depressa possível na cadeia da renderização. Neste momento, os núcleos RT começam o seu trabalho depois da rasterização do g-buffer ter sido processada. Se os núcleos RT trabalhassem em paralelo com a rasterização do g-buffer assim que a renderização começa, poderíamos notar um aumento na performance, ao invés dos núcleos RT terem que parar e esperar. Por isso, imagina que os passos iniciais da rasterização tomam 2 ms do tempo do GPU - se os núcleos RT fossem activados simultaneamente, estamos a falar de uma diminuição de quase 2 ms no tempo total de renderização. E isto é algo bastante importante já que são necessários 16.7ms quando o alvo são 60fps.

Também é importante lembrar que este é apenas o começo e com ferramentas tão poderosas quanto a tecnologia de ray-tracing Turing, a DICE tem à sua frente um futuro de ricas possibilidades. Por exemplo, a equipa mencionou que experimentou oclusão ambiental com ray-tracing e até mesmo a ideia inovadora de usar a estrutura BVH para partículas de GPU - o que significa que essas partículas teriam uma localização perfeito no mundo, independentemente da localização da câmara, o que poderia permitir a aceleração de efeitos únicos nunca antes vistos em jogos. Mas a grande questão aqui é que, em vez de aproximar ou simular efeitos em tempo real muito importantes nos seus títulos, a DICE agora tem acesso a reflexos realistas, juntamente com comportamentos associados que são uma consequência natural do próprio ray-tracing. Mas, ainda assim, o RTX em Battlefield 5 é um trabalho de primeira geração - na verdade, a caixa de ferramentas do ray-tracing acaba de ser aberta. No entanto, com resultados tão impressionantes como estes, estou realmente entusiasmado com a tecnologia, mesmo que seja apenas o começo. O futuro parece brilhante - e excepcionalmente brilhante.

Comentários (21)

Ignora piores comentários
Ordenar
Comentários

Conteúdos relacionados

Todas as novidades de Battlefield 5 em 6 minutos

A beta aberta terá início esta semana.

Battlefield 5 adiado para Novembro

Um mês depois do previsto.

Nvidia mostra Battlefield 5 a correr na RTX 2080 Ti

Vê os benefícios da tecnologia ray-tracing.