Os consoles ainda têm uma grande vantagem e estão prejudicando os jogos de PC

A morte dos jogos para PC . Esse tem sido o assunto nas últimas semanas, com porto após porto chegando ao PC em estados desastrosos. Os jogos para PC não estão mortos, mas se essa tendência continuar, é difícil recomendar qualquer novo lançamento para PC, pelo menos antes de receber uma série de patches inevitáveis.

Eu gostaria de poder fornecer uma solução única para os problemas que os jogos de PC enfrentam, mas não posso. A lista é enorme. Mas há uma área de foco que pode ajudar muito a situação, e é onde os consoles ainda têm vantagem sobre o PC.

A fonte da gagueira

Tempo de quadro em Gotham Knights no PC.
Esses picos de tempo de quadro se manifestam como gagueiras severas em Gotham Knights .

No final das contas, há uma coisa que causa gagueira em seus jogos: um aumento no tempo de renderização. Algo entupiu o cano por um breve momento e, enquanto isso é resolvido, há uma lacuna no tempo entre um quadro que aparece na tela e o próximo. Isso é uma gagueira.

Mas o que está entupindo os canos? Em muitos casos no PC, vemos gagueira na compilação do sombreador. É aqui que a CPU precisa enviar instruções (shaders) para a GPU e traduzi-las do código do software para o código do hardware. Esta é a fonte de gagueira em jogos como Gotham Knights em muitos casos.

Temos uma boa solução para stuttering na compilação de shaders . A primeira é pré-compilar shaders como Uncharted: Legacy of Thieves faz no PC. Obtenha as instruções armazenadas na memória com antecedência para que você não precise se preocupar com a compilação enquanto o jogo estiver em execução. A outra é a compilação assíncrona. CPUs modernas como o Core i5-13600K têm acesso a uma tonelada de threads, então threads que não estão fazendo muito podem lidar com a compilação das próximas seções enquanto você joga.

Intel Core i5-13600K instalado em uma placa-mãe.
Jacob Roach / Tendências Digitais

Não são soluções simples, mas funcionam. A outra fonte principal de gagueira que vemos é a gagueira de travessia ou carregamento. É o caso de Star Wars Jedi: Survivor, jogo que foi lançado com uma série de problemas de desempenho . Aqui, o aumento no tempo de renderização vem do carregamento do jogo em novos dados enquanto você viaja pelo mundo.

É importante distinguir entre os dois porque eles têm soluções muito diferentes. A falha na compilação do sombreador ocorre quando um novo efeito de sombreador é introduzido na tela. O sombreamento de um único pixel pode ter várias camadas de efeitos, portanto, uma explosão ou um efeito de pegar um item são as áreas em que você normalmente vê gagueira na compilação do sombreador.

A gagueira de travessia acontece quando seu personagem passa por uma zona de carregamento de alguma variedade. Se nada particularmente digno de nota estiver acontecendo na tela, há uma boa chance de você estar vendo uma gagueira transversal e não uma gagueira de compilação de shader.

Cal pegando uma atualização de estimulação com BD.

Star Wars Jedi: Survivor é um bom exemplo dessa dinâmica. Na abertura do jogo em Coruscant, uma grande nave bate em uma plataforma e há uma breve e menor gagueira na compilação do shader. Mais tarde, em Koboh, quando você entra ou sai do Saloon de Pyloon, no entanto, há cerca de 10 segundos de gagueira intensa. Isso é uma gagueira transversal.

Os desenvolvedores têm soluções para gagueira de compilação de sombreamento, mesmo em mecanismos como o Unreal Engine 4, que são particularmente difíceis de lidar nesse departamento. Vimos muitos dos gaguejos relacionados ao shader corrigidos em jogos como Hogwarts Legacy e jogos como Atomic Heart lançaram sem travamentos devido a um intenso processo de pré-compilação. A situação da gagueira transversal é mais complexa.

O Kraken da próxima geração

Uma pessoa segurando o SSD para jogos WD Black SN770.

Tanto o PS5 quanto o Xbox Series X possuem processadores de descompressão de hardware dedicados. De acordo com Mark Cerny, da Sony, o processador dedicado que usa a biblioteca de descompressão Oodle Kraken no PS5 pode lidar com o trabalho de compactação de nove núcleos AMD Zen 2 . O Xbox possui o sistema DirectStorage da Microsoft , que também inclui um processador dedicado para descompactação para acelerar o tempo de carregamento e, criticamente, o streaming de ativos.

A transmissão de dados do SSD é onde ocorre a gagueira transversal e é um problema muito mais desafiador de resolver no PC. Os PCs não apenas não têm hardware de descompactação dedicado, mas a variedade de especificações dos SSDs dificulta o dimensionamento confiável do desempenho de streaming em vários sistemas.

Em um PC, a descompactação é uma tarefa para a CPU. Os dados são transmitidos do SSD, mas precisam ser descompactados durante o trânsito, muitas vezes resultando em travamento de travessia. O hardware de descompressão dedicado no PS5 e Xbox Series X resulta em muito menos travamentos de travessia, apesar do fato de suas CPUs não serem tão poderosas quanto as disponíveis em um PC moderno e sofisticado.

Existem soluções para esse problema no PC, mas ainda não estão funcionando. O DirectStorage está disponível para usuários de PC e ajuda a melhorar os tempos de carregamento e streaming por meio da descompressão de GPU. O problema é que só temos um jogo com DirectStorage no momento, Forspoken, e ele não aproveita a descompressão da GPU. Apenas melhora os tempos de carregamento, superando ligeiramente um PS5.

Várias capturas de tela comparam os tempos de carregamento em Forspoken.

Em todos os outros jogos, o processo é o mesmo. Os ativos são trazidos do armazenamento para a memória do sistema, a CPU os descompacta e, em seguida, são copiados para a memória da GPU. Este processo trabalhoso é provavelmente a razão pela qual vimos o uso de VRAM subir tão alto em lançamentos recentes, já que os jogos são desenvolvidos para consoles que não possuem um gargalo de memória que está presente atualmente no PC.

O DirectStorage é uma solução, mas não é a única maneira de melhorar os principais problemas de travamento transversal no PC. O dimensionamento adequado da CPU é uma solução que tem sido subutilizada, principalmente para os lançamentos do Unreal Engine 4. Este mecanismo é construído em grande parte para rodar em dois threads da CPU e, como você pode ver em jogos como Star Wars Jedi: Survivor, os threads restantes não estão fazendo muito trabalho, se é que algum.

Apesar do fato de que os consoles têm menos poder de computação do que os PCs modernos, os desenvolvedores estão projetando jogos para plataformas que não têm um grande gargalo de streaming de ativos. Você ainda pode obter maior desempenho e qualidade visual em um PC de última geração, com certeza, mas isso vem com o custo de gagueira, resolução de textura reduzida e limitações de VRAM que não estão presentes no console ou, pelo menos, são bem menos grave.

resposta da Nvidia

Uma demonstração da tecnologia Neural Texture Compression da Nvidia.

No início de maio, a Nvidia apresentou um trabalho de pesquisa para a Siggraph 2023 – uma conferência anual centrada em avanços em computação gráfica – intitulada “Random-Access Neural Compression of Material Textures”. O artigo propõe um sistema onde uma rede neural lida com compressão e descompressão de texturas, e de acordo com ela, o sistema pode armazenar 16 vezes mais dados na mesma quantidade de espaço que uma compressão tradicional baseada em blocos.

É chamado de compressão de textura neural (NTC). Mais detalhes em texturas para o mesmo espaço de armazenamento é definitivamente uma opção atraente – como vimos com Forspoken e Resident Evil 4 Remake, a qualidade da textura pode ser muito menor no PC do que nos consoles em cenários restritos de VRAM – mas o verdadeiro benefício é que o NTC foi projetado para descompactar dados em tempo de execução.

Há uma pequena sobrecarga em comparação com os processadores de descompressão dedicados, de acordo com a Nvidia, mas os pesquisadores dizem que esperam que essa sobrecarga seja menor quando aplicada à renderização em tempo real. Mais importante é que a descompressão pode acontecer diretamente na GPU, ignorando totalmente a CPU e a necessidade de hardware dedicado.

Isso resolverá os problemas de gagueira e aumentos de VRAM que atormentam os jogadores de PC? Não sei. Por enquanto, este é apenas um trabalho de pesquisa e, se virmos o NTC incorporado às placas gráficas, provavelmente levará algumas gerações. Provavelmente não será um recurso comercializável como o Deep Learning Super Sampling (DLSS) da Nvidia .

Mas é muito promissor. O DirectStorage, por mais que pareça uma resposta, não se materializou em jogos de PC da maneira que eu esperava. O hardware suporta isso, o software está disponível, mas simplesmente não temos jogos que aproveitam a descompressão GPU do hardware para chegar perto do que os consoles oferecem atualmente. Esta solução pode ser mais gerenciável para desenvolvedores e menos exigente em hardware.

Não sabemos por enquanto. Nesse ínterim, estarei cruzando os dedos para que o restante de 2023 contenha lançamentos de PC que realmente funcionem, pelo menos até vermos mais maneiras inteligentes de desenvolvedores e fornecedores resolverem o que é um problema claro dos jogos para PC.