Um guia para uma boa experiência de jogo encaixado no Steam Deck
O Steam Deck é um ótimo dispositivo portátil que supera tudo e qualquer coisa dentro de sua classe. Mas e quanto a uma boa experiência de jogo na dock? A minúscula APU de 15 W tem o poder de oferecer uma boa experiência de jogo em uma TV 4K? Essas eram as perguntas que eu pretendia responder quando planejava usar meu Steam Deck como meu único computador por um tempo.
Para responder diretamente: Não, não há como a minúscula APU RDNA2 de 15w produzir jogos em 4k nativo. Mas não precisa. Graças às últimas inovações em tecnologias de upscaling como FSR 2.0, FSR 1.0, upscalers temporais como o TAAU/TSR da Unreal, agora podemos obter uma experiência visual muito boa mesmo em uma fração da resolução nativa real.
O Steam Deck é uma máquina de 40hz/40fps em sua resolução nativa de 800p quando se trata de jogos mais novos e exigentes. Ele pode lidar com jogos mais antigos razoavelmente bem em resoluções como 1080p, 1440p e até 4k em certos casos.
Portanto, nosso objetivo aqui seria renderizar jogos na mesma resolução de 720p e tentar aumentá-los para 4k, mantendo uma boa qualidade de imagem com o mínimo de desfoque. E chegando à taxa de quadros, estaríamos visando 30fps, assim como muitos dos consoles por aí, devido às nossas restrições de desempenho.
Antes de entrar nos jogos, gostaria de mencionar os vários conjuntos de lugares onde uma resolução pode ser definida no modo de jogo do SteamOS. Existem dois locais diferentes onde podemos definir a resolução de saída do convés de vapor e ambos se comportam de maneira diferente.
A opção de resolução nas configurações de exibição do modo de jogo:

A resolução que pode ser definida nas propriedades individuais do jogo clicando no ícone de engrenagem:

A resolução de saída do gamescope é a resolução que é enviada ao monitor ou à TV. Se você definir como 1080p 120fps, a TV receberá um sinal de 1080p 120fps. Chegando à segunda configuração - o contêiner virtual, por algum motivo, o Gamescope cria um contêiner virtual e executa o jogo dentro dele e, em seguida, aumenta ou diminui o contêiner virtual para corresponder à resolução de sua resolução de saída. Sim, você pode definir o contêiner virtual para ser executado em resoluções ainda mais altas do que as nativas e, em seguida, reduzi-los para corresponder à sua resolução nativa (supersampling). O aumento de escala entre o contêiner virtual e a resolução de saída ocorre de acordo com o algoritmo que você selecionou na sobreposição do Steam (comprado pressionando o botão '…').
Além desses dois locais, você também pode definir as resoluções dentro de seus jogos, após iniciá-los. Estas são a resolução do jogo e a resolução de renderização interna que todos nós conhecemos. Aqui é onde todos os algoritmos de upscaling temporal entram em ação. Resumi todas essas diferentes resoluções em um diagrama útil que representa a ordem de aumento de escala que ocorre.

Agora que temos uma boa compreensão de como e onde o Steam Deck lida com todo o upscaling, podemos tomar decisões inteligentes para renderizar nossos jogos em resoluções menores e aumentá-los com eficiência usando técnicas como Integer Scaling, FSR 1.0 sem causar nenhum desfoque geralmente causado por outros algoritmos.
Pela minha experiência, o melhor lugar para upscale seria a resolução de renderização do jogo usando técnicas como FSR 2.0, TAAU/TSR em jogos que os suportam e mods como CyberFSR em jogos que não possuem upscaling temporal integrado . upscaling do FSR 1.0 no jogo, pois descobri que o FSR integrado do deck a vapor está fazendo um trabalho melhor nisso.
O custo desses upscalers também é um fator a ser considerado.
No jogo — FSR2.0 custa cerca de 10 fps em desempenho.
No jogo - TAAU/TSR custa cerca de 5 fps em desempenho.
No jogo — FSR1.0 custa cerca de 5 fps em desempenho.
No jogo — O upscaling simples (bilinear) não custa nada, mas é o pior.
SteamOS Upscaling — FSR custa o mais alto em torno de 5-10fps no desempenho, mas tende a gerar resultados mais nítidos e melhores do que o escalonamento inteiro sem desfoque.
SteamOS Upscaling — Integer parece o próximo melhor em resoluções de escala inteira (1:2, 1:3) e não custa nada.
SteamOS Upscaling — Nearest é o mesmo que Integer em resoluções inteiras, mas não tão bom em resoluções não inteiras. O custo também é mínimo.
SteamOS Upscaling — Linear parece o pior e apresenta desfoque em baixas resoluções, mas não custa nada.
Agora que sabemos como e onde as imagens são aprimoradas e o custo delas, vamos dar uma olhada em algumas recomendações que fiz para mim mesmo após testes extensivos. Eles tendem a produzir os melhores visuais durante a reprodução em uma TV 4K e, em muitos casos, eu não conseguia acreditar que tudo isso estava sendo executado naquele minúsculo dispositivo portátil. Foi uma experiência suave de 4k 30fps em muitos casos simulando o desempenho de um PS4.
Caso 1: Atualmente, estou seguindo essa abordagem para jogos como Horizon Zero Dawn (usando CyberFSR), God of War (TAAU) e Spiderman Remastered (FSR 2.1). Todos esses jogos rodam bem a 40 fps no deck nativamente e, quando aprimorados de maneira inteligente, ainda podemos obter uma saída muito bonita, mantendo 30 fps bloqueados em 4k.

Caso 2: Se o jogo se esforçar para atingir 30fps consistentes após o upscaling temporal para 1440p (modo de desempenho FSR 2.0), tente renderizar em 1080p e usar o modo de qualidade FSR 2.0. Em seguida, aumente a escala usando escala inteira para 4k (1:4) ou usando FSR 1.0 do deck, se você tiver mais desempenho de sobra.

Caso 3: Se for um jogo mais antigo e não tiver construído em FSR 2.0 ou similar, mas pode rodar bem em 1080p, então Deck's FSR 1.0 ou Integer scaling (1:4) é seu amigo.

Caso 4: Se for um jogo mais exigente sem upscaling temporal, executá-lo em 720p e dimensioná-lo usando FSR do Deck ou escala Integer (1:9) ainda produz resultados razoavelmente bons para uma TV 4k a alguns metros de distância.

Os casos acima não levam em consideração todos os cenários possíveis, todas as resoluções de tv/monitor, mas podem servir como uma fonte de referência para quem está tentando rodar jogos em seu deck dock. Você pode ajustar e brincar e descobrir o que funciona melhor para você.
Outras dicas que utilizo para extrair o máximo de performance do meu Deck:
- Use os ajustes de VRAM do CryoByte33 e os ajustes de arquivo de troca para aumentar o Vram para 4 GB e o arquivo de troca para 16 GB com swappiness definido como 1. Isso aumenta as taxas de quadros mínimas em muitos jogos.
- Experimente diferentes versões do Proton, incluindo ProtonGE e também definindo DXVK_ASYNC =1 nos comandos de inicialização do jogo.
- Defina a configuração de Textura no jogo para “Alta” e a Oclusão de Ambiente para “Média”. Estes geralmente tendem a dar o melhor retorno em termos de qualidade de exibição, custando muito pouco desempenho. O deck de vapor possui um buffer vram bom o suficiente para lidar com texturas altas.
- Bloqueie a taxa de quadros para 30 usando a sobreposição de vapor e desative qualquer vsync no jogo. Se você estiver no steamOS 3.4 ou superior, habilite a opção “Allow Tearing” na sobreposição para reduzir o atraso de entrada em 16 ms.
- Muitos jogos UE4 suportam TAAU, mas não o mostram nas configurações do jogo. Você pode ativar isso inserindo manualmente esta linha no arquivo DefaultEngine.ini do jogo — r.TemporalAA.Upsampling=1 r.screenPercentage=50
- Use o mod CyberFSR para adicionar FSR 2.0 em jogos que não têm suporte nativo para FSR2.0 — Sua qualidade às vezes é ainda melhor do que a implementação do FSR2 no jogo.
- Em jogos com CPU pesada, tente dar à CPU um pouco mais de orçamento de energia, bloqueando a frequência da GPU para um valor mais baixo, como 1200mhz .
- Se você tiver um OLED ou uma TV LCD mais recente, use a interpolação de movimento (dejudder) e Black Frame Insertion (BFI) para dobrar o fps visual de saída. Nem todo mundo prefere isso, mas pode tornar a saída de 30fps muito mais suave e platável, o que introduz uma pequena quantidade de atraso de entrada e artefatos menores. Uma exploração digna se você deseja obter a experiência mais suave do seu baralho. Aqui está um bom tutorial/exemplo disso.
- Se você estiver em uma TV ou monitor compatível com 120 hz e quiser definir o limite de fps para 40, mas não conseguir encontrar a opção de 40 fps no controle deslizante de sobreposição, poderá definir este comando nas opções de inicialização do jogo Steam para bloqueá-lo em 40 fps .
mangohud MANGOHUD_CONFIG=fps_limit=40,no_display %command%
Obrigado por ler todo o post. Vou dar continuidade a este capturando algumas capturas de tela do jogo real e mostrando como elas aparecem com todos os diferentes métodos de aumento de escala e como afetam a qualidade da imagem final.