[ad_1]
Como a GPU de cada PC é diferente, a compilação de shaders é necessária para que os jogos rodem em diferentes marcas e modelos de placas gráficas. Infelizmente, esse processo de compilação pode causar gagueira irritante.
Alguns jogos apresentam um tipo de travamento que ocorre independentemente da potência do computador ou das configurações escolhidas. Isso é causado por um processo conhecido como “compilação de shader” e é um problema crescente em jogos de PC.
O que são shaders?
Shaders são programas de computador que ajudam a determinar vários aspectos dos gráficos renderizados. Pixel shaders, por exemplo, calculam os atributos de um pixel. Isso inclui a cor, brilho, refletividade ou transparência desse pixel. Se você quiser que algo em seu jogo pareça molhado, use sombreamento especial para obter essa aparência, em vez de fazê-lo à mão.
Shaders são o que torna as GPUs modernas tão flexíveis, pois essas GPUs são projetadas para executar qualquer coisa que possa ser expressa na linguagem de programação de shader. Eles substituem a antiga tecnologia de GPU de “pipeline de função fixa”, onde os tipos de matemática gráfica que uma GPU poderia fazer foram incorporados ao seu silício.
O que é compilação de shader?
“Compilação” é um termo de computador que se refere a pegar o código escrito por um programador humano e traduzi-lo em código de máquina que pode ser entendido pelo processador específico que executará o software em questão. Assim, por exemplo, você pode compilar seu código para rodar em uma CPU Intel ou Apple Silicon.
O mesmo é necessário para uma GPU. O código do sombreador deve ser compilado para ser executado na marca e modelo específicos da GPU em questão. Se você alterar a GPU, atualizar seus drivers ou o jogo receber uma atualização, os shaders precisam ser compilados novamente.
Por que alguns jogos de PC têm Shader build stutter?
Em alguns jogos, a compilação de shaders em segundo plano interfere no próprio jogo, causando gagueira visível. O computador está trabalhando muito para compilar os shaders para executar o jogo sem problemas. Alguns desenvolvedores se esforçam para otimizar a compilação para que ela tenha pouco ou nenhum impacto no desempenho do jogo, enquanto outros espalham a compilação do shader por todo o jogo, esperando que o problema seja de curta duração. Nesse caso, você só encontraria os gaguejos no início de um novo nível ou quando entrasse em um novo ambiente que usa shaders que não foram necessários até aquele ponto.
As falhas de construção foram particularmente perceptíveis nos jogos Unreal Engine 4, que é um mecanismo de jogo muito difundido e popular. Especificamente, essas falhas se tornam um problema ao executar um jogo no DirectX 12. Isso ocorre em parte porque o DirectX 12 muda a maneira como a compilação do sombreador funciona, colocando mais controle nas mãos dos desenvolvedores. No entanto, isso também significa que os desenvolvedores podem não ter a melhor maneira de otimizar sombreadores de construção usando a versão mais recente e melhor do DirectX.
Por que os consoles não têm stutter de construção de shader?
A gagueira de construção do sombreador é um problema completamente ausente em consoles como PS5 e Xbox Series X|S. Isso ocorre simplesmente porque os desenvolvedores sabem exatamente qual hardware está dentro de cada console para que possam pré-compilar todos os sombreadores; você não precisa compilá-los no sistema local porque já sabe qual GPU está direcionando.
É possível fazer isso no PC, mas como existem tantas GPUs e configurações de sistema, não seria prático. No entanto, no caso do Valve Steam Deck, a Valve inclui um cache de shader pré-compilado com alguns jogos, porque é claro que todos os Steam Decks têm a mesma GPU.
O que você pode fazer sobre construir gagueira?
Infelizmente, na maioria das vezes, os desenvolvedores precisam corrigir problemas de compilação de shader. A boa notícia é que eles acabarão assumindo o controle do processo. O Unreal Engine 5.1 pode incluir um recurso automatizado que ajudará os desenvolvedores com o cache sem que o impacto no desempenho seja tão grave.
A lista de coisas que você pode fazer para mitigar a gagueira não é longa, mas algumas dessas opções podem ajudar:
- Se um jogo permitir que você pré-compile shaders, deixe-o. Isso pode demorar um pouco, mas a experiência de jogo será livre de interrupções.
- A menos que uma atualização do jogo inclua uma correção de travamento do shader, espere até terminar de jogar ou os shaders podem recompilar.
- Aguarde as atualizações do driver da GPU até terminar o jogo atual, caso acione a compilação novamente.
- Quando a gagueira de construção começar em um jogo, aperte o botão de pausa e espere até que termine antes de continuar a jogar.
- Use DirectX 11 em vez da versão DirectX 12 de um jogo. Freqüentemente, a gagueira do shader é reduzida ou ausente, embora você desista dos recursos do DX12 no negócio.
- Em vez disso, jogue o jogo em um console.
Com o tempo, esse problema provavelmente desaparecerá ou se tornará muito menos intrusivo. Por exemplo, os desenvolvedores podem baixar a compilação de shaders em núcleos de CPU que o jogo não precisa, o que é uma situação comum em PCs modernos com muitos núcleos. Até então, o #gagueira continuará a ser um problema irritante nos jogos de PC.
RELACIONADO: Por que meus jogos ficam piores com VRR?
[ad_2]