Ir para o conteúdo
PS5PCEM
ParcialGráficos

Rastreador de páginas da GPU

O rastreador de páginas, de adesão explícita, vigia páginas convidadas de 16 KiB. O primeiro armazenamento nativo da CPU gera uma falha, avança uma geração e invalida a cópia da GPU, para que páginas inalteradas não sejam submetidas a hash e enviadas a cada quadro.

Notas do repositório até 10 de outubro de 2026

O problema que ele trata

Um alvo de renderização ou um buffer de vértices que vive na memória convidada precisa chegar à GPU. Enviar a alocação inteira a cada quadro é correto e caro. Submeter a alocação inteira a hash para descobrir que ela não mudou também é caro. O rastreador de páginas, em vez disso, marca uma página gravável rastreada como somente leitura e deixa a CPU falhar no primeiro armazenamento.

O tratador da falha registra a página, restaura a proteção real do convidado e avança a geração dessa página. Um desenho posterior compara gerações. Uma página inalterada permanece no dispositivo. Uma página cuja geração se moveu é enviada. PS5_GPU_PAGE_TRACKER=1 liga o mecanismo. Ele fica desligado, a menos que essa variável, ou o conjunto experimental, esteja definido.

O que a falha é

A falha é uma invalidação, não um erro do convidado. A página estava somente leitura só para que o anfitrião pudesse observar a escrita. O armazenamento do convidado então pode concluir sob a proteção que o título pediu. Páginas que não são rastreadas seguem o caminho comum de envio.

Mapeamentos de memória direta recriados com o mesmo endereço, o mesmo tamanho, o mesmo deslocamento físico e as mesmas permissões de CPU mantêm as visões do anfitrião. Essa reutilização é o que torna uma geração significativa de um quadro para o outro. Uma mudança de suporte ou de permissões segue o caminho normal de substituição, e o rastreador observa o mapeamento novo.

O que ele não faz

O rastreador não reduz a resolução interna de um título e não compila shaders. Ele só remove transferências repetidas de páginas nas quais a CPU não armazenou. Um título que reescreve um buffer a cada quadro ainda paga por esse buffer.

Escritas de atlas de fontes e outros armazenamentos do HLE invalidam as vigias antes de modificar a memória convidada, então uma escrita de firmware não fica invisível para a GPU. O rastreador faz parte do conjunto experimental de GPU descrito na visão geral da arquitetura.

O que está implementado

  • Gerações por página para páginas convidadas de 16 KiB quando PS5_GPU_PAGE_TRACKER=1.
  • Uma falha no primeiro armazenamento, que restaura a proteção do convidado e invalida a cópia residente.
  • Reutilização de visões idênticas de memória direta, para que as gerações sobrevivam de um quadro para o outro.
  • Invalidação quando o próprio HLE escreve uma página vigiada.

O que ainda falta

  • O rastreador é de adesão explícita. O caminho padrão de compatibilidade não depende dele.
  • Páginas que a CPU reescreve a cada quadro ainda são enviadas.
  • Ele não cobre a coerência de GPU para GPU dentro de uma superfície de metadados comprimidos.

Mecanismos relacionados

O que estas páginas descrevem

O texto segue as notas de arquitetura e os relatórios de outubro de 2026 no repositório do PS5PCEM. Um teste pontual que passa não é uma nova taxa de quadros nem uma nova conclusão de jogo.

Todas as tecnologias