Em breve nós faremos algumas melhorias em como o Path of Exile utiliza sua memória de vídeo. Este post explica qual o impacto que isso terá na sua gameplay e para quando esperar este patch.

Placas de vídeo possuem uma certa quantidade de RAM de Vídeo (VRAM), que é usada para lidar com vários recursos que são renderizados para o atual cenário de jogos. Se você ficar sem VRAM enquanto joga com o DirectX 11, nosso renderizador padrão, o jogo ainda funcionará, mas sua taxa de quadros cairá já que ela terá que renderizar os recursos sobressalentes na memória do seu sistema. O motor gráfico também terá que modificar os recursos entre um lugar e outro, memória principal e VRAM, retardando ainda mais as coisas. Para usuários sem VRAM suficiente, a performance usando o DirectX 11 é bem terrível.

Apesar da API de renderização Vulkan possuir vários benefícios para a performance, ele não possui a opção de utilização da memória do sistema que o DirectX 11 possui, e seu comportamento padrão é simplesmente quebrar quando você fica sem memória. Inicialmente quando lançamos a versão Beta do renderizador Vulkan, alguns usuários experimentaram quedas durante sessões de jogo com uso intenso da memória.

Já que tanto quedas quanto a memória ir lentamente se desfazendo são ruins para a experiência do jogo, é importante que a engine do jogo gerencie quais recursos estão na memória ao descarregar aqueles que não foram usados recentemente e possivelmente não serão usados em breve. Durante o ano passado nós adicionamos um sistema que descarrega recursos que o jogo não espera usar em um futuro próximo, mantendo o uso da VRAM em um nível conservador. Isso eliminou quedas e lentidões devido ao uso excessivo de VRAM, mas infelizmente introduziu outros problemas relacionados ao ciclo de vida de recursos da memória.

Com recursos agora sendo carregados de forma dinâmica durante a jogabilidade, nós criamos outras ferramentas para a engine para que os recursos pudessem ser carregados de forma assíncrona sem retardar a renderização. Anteriormente isso causaria um problema bem grande de travamento, já que a engine costumava congelar completamente até que um novo recurso fosse inteiramente carregado.

No entanto, o que você mostra quando uma textura ainda não foi carregada? Para não mostrar uma textura toda preta, nós adicionamos uma técnica chamada transmissão de textura onde nós temos os níveis mais baixos de mip (por exemplo, versões com poucos detalhes) de cada textura sempre na memória para que possamos mostrar algo aproximadamente correto mais rapidamente. Isso é melhor do que as alternativas tendo quedas significativas da taxa de quadros ou nada sendo mostrado. Apesar da transmissão de texturas ser uma otimização visual inofensiva, por várias vezes ela é atribuída a problemas que na verdade tem a ver com o fato de que o jogo descarregou um recurso que não deveria.

Há alguns parágrafos nós descrevemos nosso uso de VRAM dentro deste sistema como conservador. Isso significa que nossa implementação atual não usa sua VRAM de forma agressiva, e isso faz com que os jogadores se frustrem com recursos sendo descarregados desnecessariamente com frequência (por exemplo, quando você nota que algo parece borrado por alguns segundos).

Nossa equipe de engine tem trabalhado em uma melhor implementação que usa de forma agressiva a maior quantidade de VRAM que puder para armazenar a maioria dos recursos que conseguir. Isso é bom porque usuários com placas de vídeo medianas ou melhores verão recursos sendo descarregados com muito menos frequência do que atualmente. Depende de quanta VRAM você possui, claro, mas os problemas que atualmente estão sendo atribuídos à transmissão de textura/descarregamento serão amplamente eliminados para vários usuários. E claro, todas as mudanças acima significam que usuários com placas de vídeo de baixo custo não terão quedas ou quedas da taxa de quadros quando ficarem sem VRAM.

Nosso plano inicial era implementar esta atualização no próximo patch de engine, que anteriormente estava programado para uma ou duas semanas antes da implementação da 3.15 em Julho. No entanto, estamos muito insatisfeitos com a situação atual, então estamos trabalhando para aprontar este recurso em um futuro próximo (idealmente na próxima semana, mas atualizaremos estas estimativas na medida em que os testes forem feitos).

Esta mudança não resolverá todo problema gráfico ou de performance no jogo, mas certamente terá um grande impacto para tornar as coisas bem melhores para a maioria dos usuários. Nossa equipe de engine continuará buscando por problemas e criando soluções para eles. Como sempre, obrigado pelo contínuo feedback e relatórios.
Postado por 
em
Grinding Gear Games

Reportar Post do Fórum

Reportar Conta:

Tipo de Reporte

Informação Adicional