Ferramentas · DEVLOG

Tristram ganha renderização na GPU

A GPU chegou ao teste na partida: melhora de desempenho relatada pelo responsável, com medição controlada e limites do piloto Direct3D 11 no Windows.

Projeto D3D4 min de leitura

Ilustração de ambientação gerada com IA

Captura histórica de Tristram na etapa v4, usada como contexto. Esta imagem não é uma comparação entre CPU e GPU.
Captura histórica de Tristram na etapa v4, usada como contexto. Esta imagem não é uma comparação entre CPU e GPU.

O protótipo de Tristram passou a ter um renderizador opcional na placa de vídeo. O piloto usa Direct3D 11 no Windows, dentro do DevilutionX, e foi publicado no commit c8329403e. O objetivo imediato é reduzir o custo de desenhar a mesma cena, preservando a partida e a cabana com sua iluminação atual.

Depois dos testes técnicos, o responsável pelo projeto experimentou a versão GPU na partida habitual e relatou:

melhorou muito!!

Essa primeira observação confirma uma melhora percebida de desempenho durante o uso. Ela complementa a medição controlada abaixo, sem acrescentar um número de FPS ou representar aprovação completa dos modelos 3D. Este artigo foi atualizado em 8 de outubro de 2026 para registrar esse marco.

A captura acima pertence à etapa v4 já publicada. As evidências desta entrega são os resultados descritos na documentação versionada do renderizador GPU; nenhuma nova captura local foi acrescentada ao site.

A mesma partida, outro caminho para desenhar

A GPU recebe a geometria, os materiais, as luzes, as sombras e os identificadores preparados pelo protótipo. Produz cor, profundidade e seleção, que voltam aos buffers usados pela interface existente. A simulação, o mapa, as colisões e os saves continuam no DevilutionX. A cabana e sua luz foram preservadas; essa mudança não regenera modelos nem representa aprovação artística final.

O caminho de CPU continua disponível. Se o backend GPU falhar ou ultrapassar seu orçamento, o quadro inteiro é refeito na CPU. Isso evita misturar uma imagem nova com profundidade ou seleção de outro quadro. Home continua usando o renderizador original, e os níveis procedurais ainda não receberam a reconstrução 3D.

Opções durante a partida

No Windows, abra Esc → Options → Video Options → 3D GPU Rendering. 3D Edge Smoothing controla a suavização separadamente. As escolhas persistem no perfil e valem no próximo desenho; desligar e ligar GPU permite tentar novamente após uma falha.

Fora da partida, as opções ficam em Settings → Graphics. O padrão público da GPU é desligado. A preparação do perfil local do responsável ativou somente GPU e preservou as outras preferências. O indicador do protótipo distingue GPU ativa, CPU selecionada e retorno automático à CPU.

Menos tempo no desenho do mundo

A rodada controlada usou Windows, Radeon RX 570 e Intel Core i7-14700, com a mesma cabana, iluminação e fogo congelado. Cada número é a mediana de cinco chamadas após aquecimento por backend.

Condição CPU GPU
640×352, 1×, geometria forçada na câmera original 24,8 ms 8,1 ms
960×540, 2× por eixo 191,8 ms 40,9 ms
1920×1080, 1×, zoom nativo ligado 154,00 ms 29,58 ms

Em Full HD, o desenho do mundo levou cerca de 5,2 vezes menos tempo. A medição inclui a leitura de volta da GPU e a redução quando aplicável, mas exclui a interface e a apresentação SDL. Isso não é uma medição do FPS final da partida. Os tempos variam entre rodadas e não garantem o mesmo ganho em outro computador.

Seleção e recuperação também fazem parte do teste

Passaram seis cenários reais com diferentes câmeras e densidades, testes sintéticos da GPU, retorno CPU → GPU → CPU, recuperação após falha e 25 testes do iniciador. Desligar GPU restaurou exatamente a referência CPU; Home manteve o caminho original.

A comparação encontrou 108 diferenças de seleção em bases de terreno coplanares e uma diferença de subamostra na borda de uma árvore. Todas receberam explicação geométrica independente. Não restaram divergências sem explicação, mas isso não significa que os dois rasterizadores produzam pixels idênticos em todas as bordas.

O que ainda limita este piloto

A ponte ainda lê os resultados da GPU de forma síncrona, e o mapa estático de sombras continua sendo construído na CPU. Outras plataformas continuam usando CPU. O orçamento atual também pode fazer uma área grande retornar à CPU; este incremento não promete suporte GPU a 4K.

Menus HD, apresentação direta na GPU e renderização 3D dos níveis procedurais permanecem pendentes. Após a melhora percebida na primeira partida, seguem a observação do desempenho em uso prolongado e a revisão completa da cabana, sem gerar outro modelo automaticamente. Uma medição de FPS sustentado ainda precisa ser feita. O guia de execução da entrega técnica registra seus marcos e dependências. Tristram continua sendo o primeiro marco do objetivo de reconstruir todo Diablo 1 em 3D.

Continue acompanhando.

Protótipo

Duas câmeras de gameplay e continuidade da Catedral

Atualização local de 10 de outubro: paredes opacas da Catedral, vãos de portas e grades preservados e nomes nativos dos itens em 3D. Gameplay e arte continuam em revisão.

5 min de leitura
Protótipo

Diablo 3D em vídeo: controles, Tristram e Catedral

Gameplay gravado por Douglas e prévias históricas mostram controles, HUD, Tristram, Ogden e Catedral. Vídeo horizontal e Short com legendas em inglês e limites do desenvolvimento.

2 min de leitura
Geometria

Catedral: materiais nativos e transparência mais leve

O piloto do primeiro andar recebe piso, alvenaria e madeira do original, com aproximações visuais explícitas. A cópia regional reduz o custo medido da transparência; formas, portas e gameplay ainda precisam de revisão.

7 min de leitura

Faça parte do Diablo 3D

Ajude esta comunidade a crescer

Ajude o Diablo 3D a crescer: entre no Discord para conversar com a comunidade e acompanhe as novidades do projeto no YouTube.

Entrar no Discord Acompanhar no YouTube

A participação é voluntária. Você pode abrir este convite pelo rodapé quando quiser.