GDC 2024 em revisão: rastreamento de caminho, aumento de escala e tecnologia de eliminação de CPU

Um banner com GDC fora de um centro de conferências.
Jacob Roach / Tendências Digitais

ReSpec é um pouco diferente esta semana. Passei a semana na ensolarada São Francisco, na Game Developers Conference (GDC), correndo de reunião em reunião e tentando encontrar um momento para escrever algumas palavras.

Em vez de uma coluna normal, decidimos postar uma amostra das entradas do recém-lançado boletim informativo ReSpec cobrindo o que vi na GDC esta semana. Se você deseja que esta mesma newsletter seja entregue em sua caixa de entrada todas as semanas, cadastre-se agora e receba conteúdo exclusivo.

O rastreamento de caminho é uma mentira

Uma captura de tela de Alan Wake 2, mostrando um ambiente escuro.
Jacob Roach / Tendências Digitais

Talvez “mentira” seja uma palavra muito forte para ser usada, mas o rastreamento de caminho é bastante complicado quando se trata de sua implementação em jogos. Participei de sessões de rastreamento de caminho em Cyberpunk 2077 e Alan Wake 2 na GDC, os quais descreveram um tópico comum para a utilização de rastreamento de caminho em um jogo destinado a ser executado em tempo real, em uma taxa de quadros jogável. E é chamado de iluminação direta ReSTIR.

Primeiro, como funciona o rastreamento de caminho : pegamos um pixel e traçamos uma linha dele para longe da câmera. Ele colide com algo e salta. E continua, saltando pela cena até desaparecer no éter ou terminar em uma fonte de luz. Os desenvolvedores querem caminhos que terminem em uma fonte de luz, principalmente para calcular sombras.

O problema em qualquer tipo de contexto de tempo real é que esse processo é extremamente caro. Calcular todos esses raios e todos esses saltos, apesar do fato de que apenas uma pequena quantidade deles será usada, consome uma tonelada de recursos. É por isso que o rastreamento de caminho tem sido uma técnica off-line há tanto tempo – você tem que calcular os caminhos possíveis e tirar a média deles.

Esse não é o caso de Alan Wake 2 e Cyberpunk 2077 . Para luzes diretas, o ReSTIR funciona ponderando as fontes de luz em uma cena e amostrando apenas uma seleção delas. Então, essas amostras são compartilhadas temporalmente (entre quadros) e espacialmente (com pixels próximos). No caso de um jogo como Alan Wake 2 , certas luzes são mais pesadas, como as luzes “cinematográficas” azuis e vermelhas que você vê em uma estação de trem.

O resultado é uma imagem que se forma muito mais rápido, pelo menos rápido o suficiente para que você possa jogar a uma taxa de quadros razoável com uma pitada saudável de aumento de escala e geração de quadros.

É um boato interessante e algo que esperamos que se torne mais comum com os desenvolvedores titãs de Alan Wake 2 e Cyberpunk 2077 compartilhando seu trabalho.

A Microsoft está apostando no upscaling

Apresentadores da Microsoft no palco em uma sessão do GDC.
Jacob Roach / Tendências Digitais

Na GDC, a Microsoft finalmente falou mais sobre DirectSR e até conseguiu reunir desenvolvedores da AMD e Nvidia para sentar no mesmo painel. Juntos, até! DirectSR não é uma forma de acabar com as guerras de upscaling, como pensávamos originalmente, mas fornece uma estrutura unificada para os desenvolvedores adicionarem vários recursos de upscaling aos seus jogos.

Uma grande parte disso é entrada. Ao fazer interface com o DirectSR, há um conjunto padronizado de entradas que os desenvolvedores concedem à Interface de Programação de Aplicativo (API). Ele pode então repassar essas entradas para upscalers integrados, como o FSR 2 da AMD, ou variantes que requerem hardware específico, como o DLSS da Nvidia .

Não é diferente da estrutura Streamline da própria Nvidia, que foi construída para realizar algo semelhante antes da AMD decidir não jogar bola. Parece que a Microsoft, sendo o terceiro neutro nesta batalha, foi quem conseguiu unir todos.

Ainda não tenho certeza de como isso realmente ficará nos jogos. DirectSR ainda nem está disponível para desenvolvedores. É possível que nada mude para os usuários finais e ainda vemos várias opções de aumento de escala nos menus gráficos. Talvez a Microsoft atualize o Windows para incluir uma opção de upscaling universal dependendo do hardware que você possui. Não está claro, mas o DirectSR ainda deve tornar mais fácil para os desenvolvedores implementarem todos os tipos de upscaling em seus jogos através de DLSS, FSR e XeSS da Intel.

Uma vantagem que não apareceu originalmente foi como esse sistema funciona com atualizações. Nvidia, AMD e Intel lançam constantemente novas versões de sua tecnologia de upscaling que fazem pequenas melhorias na qualidade da imagem ou ajustam ligeiramente o funcionamento do upscaling. Com o DirectSR, os desenvolvedores não precisarão adicionar todas essas atualizações aos seus jogos – elas apenas trabalharão na API.

Tudo isso é positivo para mim. O upscaling tem sido um grande ponto de discórdia, especialmente para grandes lançamentos como Starfield e Resident Evil 4 , que suportavam apenas um upscaler no lançamento. A única desvantagem é a geração de quadros. Isso não parece estar nos planos do DirectSR no momento, então ainda haverá muitas idas e vindas no futuro para as principais marcas gráficas.

Morte à sua CPU? Não exatamente

CPU 14900K da Intel encaixada em uma placa-mãe.
Jacob Roach / Tendências Digitais

Um dos anúncios mais emocionantes da GDC este ano foram os Work Graphs . Falei sobre isso na semana passada no boletim informativo, mas dei uma olhada mais de perto nos Work Graphs durante o DirectX State of the Union da Microsoft. A ideia por trás deles é reduzir a pressão sobre sua CPU, permitindo que sua GPU direcione seu próprio trabalho.

Há um pouco mais de nuances na conversa. Isso dá mais poder à sua GPU para decidir o que fazer, semelhante a quando os shaders programáveis ​​foram introduzidos pela primeira vez nas placas gráficas . Um gráfico de trabalho é composto de nós, e esses nós podem gerar mais nós para sua GPU trabalhar, em vez de esperar pelo trabalho da CPU. A Microsoft o descreveu como um sombreador de computação que pode iniciar outro sombreador de computação.

A vantagem óbvia, e que os jogadores de PC perceberam rapidamente, foi a utilização da GPU. A Microsoft explicou que o sistema atual requer um ponto de sincronização global entre a GPU e a CPU. Isso geralmente significa que a GPU, sendo um dispositivo altamente paralelo, fica sem trabalho por breves períodos de tempo enquanto espera que uma sincronização aconteça.

O que eu não esperava como isso impactaria a memória. Com a programação atual em DirectX 12, a Microsoft explicou que você usaria o comando ExecuteIndirect, que exige a retenção de vários buffers. Com Work Graphs, você não precisa manter esses buffers, pois a GPU pode iniciar seu próprio trabalho e continuar gerando trabalho para si mesma.

Robert Martin, da AMD, demonstrou o quão importante isso é com uma cena que exigia 3,3 GB de memória. Com Work Graphs, o uso de memória foi de apenas 113 MB e veio com um pequeno aumento de desempenho. Conforme descrito na apresentação, “o volume de memória é dimensionado de acordo com o tamanho da GPU, não com o tamanho da carga de trabalho”.

Os gráficos de trabalho são invisíveis para os usuários finais, mas são realmente a próxima fronteira para a programação gráfica e, como AMD, Nvidia e Microsoft disseram, é algo em que os desenvolvedores vêm trabalhando há anos. Menos uso de memória e melhor desempenho parecem bons para mim. Teremos apenas que esperar até que os gráficos de trabalho façam sucesso nos jogos reais.