Quando as opções gráficas pedem mais memória do que a placa de vídeo tem, o SO tira texturas para a memória do PC e depois as traz de volta, e a imagem engasga.
Por quê Opção de textura alta e, em lugares cheios, todo tipo de equipamento e efeito enchem a memória da placa de vídeo → Efeito O SO move para a memória do PC as texturas que não estão em uso no momento e, quando precisa delas, traz de volta pelo barramento PCIe, que é lento → Na tela Um engasgo a cada cena ou personagem novo que aparece, e texturas borradas por um tempo
Quando junta muita gente, Em movimento ou ao trocar de mapa
Responsável
Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento) · Também envolvidos Externo (Externo)
O que fazer (Equipe de desenvolvimento)
Ajustar os valores padrão das opções ao tamanho da memória da placa de vídeo, reduzir automaticamente a qualidade das texturas quando o orçamento de memória estourar, simplificar as texturas dos personagens em lugares cheios.
O que fazer (Externo)
Orientar os jogadores a baixar a opção de textura e a baixar ainda mais as opções quando abrirem dois clientes.
Números de referência
A memória da placa de vídeo lê centenas de GB por segundo, mas o barramento PCIe que a liga à memória do PC transfere cerca de 16–64 GB por segundo, conforme a geração; é mais de dez vezes mais lento.
No gráfico
Achata ao bater no limite · Memória dedicada da GPU, memória compartilhada da GPU
Onde olhar
Ver os gráficos de memória dedicada e de memória compartilhada da GPU no item GPU da guia Desempenho do Gerenciador de Tarefas (na guia Detalhes, também dá para adicionar colunas por processo) junto com o frame time do PresentMon
Confirma se
Enquanto a memória dedicada da GPU fica achatada no limite e a compartilhada cresce, os engasgos ficam frequentes; ao baixar a opção de textura, eles somem
Descarta se
Memória dedicada com folga: “Streaming de assets atrasado por disco lento” ou “Carregamento síncrono e compilação de shaders na thread principal”
Como verificar
Verificação no ambiente do jogador
Saiba mais
No Gerenciador de Tarefas do Windows, no item GPU, quando a “memória dedicada da GPU” fica cheia e a “memória compartilhada da GPU” começa a crescer, é esse o caso. Com dois clientes abertos no mesmo PC, ela enche mais rápido (verbete “Falha de streaming por falta de memória ou VRAM”).
Fontes
ResidencyMicrosoft Há um orçamento de memória gráfica que o processo pode usar; quando ele estoura, o kernel move parte do heap da GPU dedicada para a memória do PC (é o último recurso, por isso se recomenda gerenciar o orçamento)
GPUs in the task managerMicrosoft No Gerenciador de Tarefas, a memória dedicada da GPU é a VRAM da placa de vídeo, e a memória compartilhada da GPU é a memória do PC usada em conjunto pela GPU e pela CPU
CUDA C++ Best Practices GuideNVIDIA A largura de banda da memória gráfica (V100: 898 GB/s) é muito maior que a do PCIe x16 de 3ª geração (16 GB/s), por isso se recomenda reduzir as transferências de e para a memória do PC