Mal otimizado ou exigente? Eles não são a mesma coisa | ENBLE

Mal otimizado ou exigente? Não são a mesma coisa | ENBLE

Bethesda Game Studios

“O jogo está mal otimizado no PC”, é uma frase que ouvi provavelmente 100 vezes só este ano. Tem algum peso. Este tem sido um ano terrível para lançamentos de PC – num ano fantástico no geral para jogos – e isso deve-se em grande parte à forma como os jogos são otimizados para a plataforma. Mas “otimização”, como termo, é usado tão frequentemente que parece que muitos jogadores estão perdendo de vista o que a otimização do PC realmente significa.

Mais recentemente, um repórter da Bloomberg perguntou ao diretor de Starfield, Todd Howard, a pergunta bastante ignorante: “Por que você não otimizou este jogo para PC?” A resposta de Howard, com a qual concordo, foi simples. “Uh… nós otimizamos”, ele disse.

Não há um botão mágico de “otimizar” para fazer com que jogos visualmente impressionantes rodem em hardware mais fraco, mas se você frequenta fóruns de mensagens e comunidades de jogos para PC, seria perdoado por pensar que existe. Existem maneiras para os desenvolvedores otimizarem seus lançamentos para PC, e temos vários exemplos de estúdios que não conseguiram fazer isso este ano. Starfield não está entre eles. Não está mal otimizado, é exigente. Poderia se beneficiar de uma otimização adicional, mas a diferença aparentemente pequena entre mal otimizado e exigente é crucial para entender por que os jogos são executados da maneira como são.

Como é uma má otimização

Respawn Entertainment / EA

Primeiro, precisamos olhar para um jogo que foi mal otimizado para PC no lançamento. Temos muitos exemplos este ano, mas nenhum tão claro quanto Star Wars Jedi: Survivor. Este lançamento do Unreal Engine 4 foi corrigido para um estado melhor, embora ainda apresente alguns problemas graves vários meses após o lançamento.

Muitos dos problemas no lançamento diziam respeito à forma como o jogo escalava com a CPU. Como Hideyuki Miyashita, programador de sistemas do Hi-Fi Rush, explicou para mim, “O quão difícil pode ser suportar a multithreading depende muito da arquitetura do motor utilizado. Infelizmente, o Unreal Engine 4 deixa um pouco a desejar nesse aspecto.”

O Unreal Engine 4 é projetado principalmente para rodar em dois threads da CPU. Há um thread do jogo, que lida com coisas como criação de objetos e personagens, e um thread de renderização, que prepara os quadros para que sua placa gráfica os renderize. O motor utiliza outros threads da CPU para outras tarefas menores, mas a maioria das coisas é centralizada em dois threads principais da CPU.

Miyashita diz que isso cria um problema, que “pode resultar na criação complexa de atores e widgets bloqueando o thread do jogo por um longo tempo”. Quando há um bloqueio, há uma interrupção, e isso pode acontecer várias vezes, especialmente em jogos altamente complexos como Star Wars Jedi: Survivor.

Os desenvolvedores podem contornar intencionalmente esse problema movendo tarefas para outros threads da CPU e criando estruturas assíncronas para que um componente não esteja esperando pelo outro. Esse tratamento se enquadra na categoria de otimização do PC.

Codemasters

Este é um exemplo específico de como um jogo mal otimizado pode ser melhor otimizado para PC, mas existem dezenas de outras técnicas que os desenvolvedores utilizam. O cache de shaders pode reduzir interrupções no início do jogo, escolher cuidadosamente o que é carregado e o que não é pode reduzir a carga da VRAM e da CPU, e técnicas como Variable Rate Shading (VRS) podem concentrar a renderização nas áreas mais importantes de uma cena. Até mesmo coisas como ajuste de nível de detalhe para objetos se enquadram na otimização de desempenho.

De uma forma geral, a otimização de jogos no PC consiste em garantir que o jogo seja capaz de aproveitar o hardware disponível enquanto parece o melhor possível. Isso vale para ambos os casos. Um jogo bem otimizado pode se adaptar a hardware de alto desempenho assim como pode se adaptar a hardware de baixo desempenho. Um jogo mal otimizado apresentará problemas em todos os aspectos, independentemente de quanto hardware você utilizar. Jogos como Star Wars Jedi: Survivor e The Callisto Protocol são jogos mal otimizados.

Também é um processo que começa nas fases de concepção de um jogo e termina muitos meses (e em alguns casos, anos) depois que o jogo foi lançado. O jogo está apresentando um mundo grande e contínuo? Existem dezenas de sistemas interligados que criam experiências únicas para os jogadores? Qual é a escala do mundo do jogo? Essas perguntas orientadas pelo design informam muito sobre o desempenho, e os desenvolvedores muitas vezes precisam fazer concessões entre o design do jogo e o design técnico para garantir que o jogo alcance o que pretende fazer enquanto se mantém em um nível aceitável de desempenho.

Existem otimizações mais específicas em outros lugares, principalmente por meio de seus drivers. Em alguns casos, algo tão simples como uma atualização de driver pode dobrar o desempenho nos jogos. Na maioria das vezes, no entanto, essas otimizações oferecem melhorias incrementais de desempenho ao longo do tempo. É verdade que Starfield provavelmente verá otimizações adicionais por meio de atualizações de driver e do jogo, mas está longe de ser um jogo mal otimizado no lançamento.

Exigente não é mal otimizado

Bethesda Game Studios

É importante falar sobre jogos mal otimizados porque um jogo mal otimizado e um jogo exigente não são a mesma coisa. Starfield é um jogo exigente, não mal otimizado.

Você pode perceber isso imediatamente também. O jogo suporta recursos como VRS, ele pode se adaptar para acomodar diferentes GPUs e CPUs, ele armazena em cache shaders sempre que você carrega o jogo ou instala uma nova atualização de driver em poucos segundos, e apesar de áreas enormes e materiais de alta resolução, ele não sofre com limitações de VRAM em GPUs modernas. Ele também é muito estável, com poucos problemas e poucos crashes, pelo menos nas minhas 40 horas de teste do jogo em uma ampla variedade de hardware.

O jogo ainda é muito exigente em termos de hardware. Um jogo pode ser tanto decentemente otimizado quanto muito exigente; eles não são mutuamente exclusivos. Felizmente, as opções de gráficos fornecem melhorias de desempenho, o que não é algo que todos os jogos podem dizer (as opções de gráficos de Remnant 2, por exemplo, basicamente não faziam nada no lançamento). Isso por si só é um sinal de que houve algum pensamento dedicado à otimização no PC, mesmo que não seja perfeita. Minhas melhores configurações para Starfield também resultaram em um aumento considerável no desempenho sem comprometer a qualidade da imagem.

Jacob Roach / ENBLE

Houve muita conversa sobre as otimizações de CPUs em Starfield, muito disso focado em áreas muito densas do jogo, como New Atlantis, que são particularmente exigentes para o processador. É possível que atualizações futuras possam reduzir o fardo da CPU nessas áreas, mas isso está longe de ser um desastre considerando que os principais centros urbanos comprometem apenas uma pequena parte do que você fará no jogo. Parece menos um descuido e mais um compromisso para o desempenho, e esses compromissos são evidentes em todo o jogo.

Starfield não é um exemplo de otimização para PC; não quero deixar essa impressão. Ele poderia, e irá, se beneficiar de futuras atualizações para melhorar o desempenho em hardware menos potente. O jogo ainda atende ao mínimo necessário considerando tudo o que se propõe a realizar. Starfield é um jogo enorme e altamente complexo, e seu desempenho no lançamento ainda permite que os jogadores experimentem o jogo da maneira como foi planejado. Certamente é uma experiência muito melhor do que a compilação de shaders que leva horas em The Last of Us Part One, apenas para exibir travamentos intermináveis. E está muito à frente da enxurrada de travamentos de travessia, travamentos de shaders e crashes em Star Wars Jedi: Survivor.

O jogo faz compromissos para sua escala, chegando sem grandes problemas que têm assolado lançamentos de PC este ano, apesar de ter um nível geral de desempenho mais baixo. Até algo tão mundano quanto o modelo de uma cebola no jogo tem feito manchetes, e um jogador encheu sua nave com milhares de batatas, apenas para vê-las derramarem com física precisa. Também há o uso de um pipeline de materiais baseado em física (PBR) para trazer um nível insano de detalhes aos objetos com os quais você interage.

Starfield está fazendo muitas coisas, desde simular dezenas de NPCs ao mesmo tempo até mostrar superfícies e objetos altamente detalhados e, bem, física de batatas. Você não pode simplesmente ignorar tudo isso ao olhar para o desempenho no PC. Você pode argumentar (e muitos têm argumentado) que uma maior fidelidade visual seria melhor do que o que Starfield tenta realizar, mas não é justo dizer de forma vaga que o jogo é mal otimizado por causa dos compromissos claros que ele faz para equilibrar desempenho e design. Fidelidade visual e desempenho não têm uma relação linear.

Há algumas críticas válidas em outros aspectos. A falta de recursos básicos para PC, como um controle deslizante de FOV e suporte HDR, é uma grande falha, e a dependência do FidelityFX Super Resolution 2 (FSR 2) da AMD sem suporte para Deep Learning Super Sampling (DLSS) tem impedido que o jogo atinja um desempenho mais jogável em hardware mais fraco. Modders já adicionaram recursos como DLSS 3 e um controle deslizante de FOV, mas seria ótimo ver mais desses recursos da Bethesda em uma atualização futura.

Além disso, o hardware da AMD está apresentando um desempenho muito melhor no jogo do que o hardware da Nvidia e Intel no lançamento. A AMD é a “parceira exclusiva de PC” para o Starfield, e parece que o hardware da empresa teve mais prioridade no lançamento. Eu suspeito que a Nvidia e a Intel lançarão drivers em breve para melhorar o desempenho. Mesmo agora, porém, o jogo não é impossível de ser jogado.

Mudando a conversa

Bethesda

O ponto aqui não é exclusivamente o Starfield, no entanto. É um estudo de caso para a conversa em torno da otimização de jogos e como ela pode ser equivocada. O Starfield poderia se beneficiar de uma otimização adicional, mas ele é muito mais estável do que muitos dos lançamentos para PC que vimos este ano, especialmente aqueles projetados com o Unreal Engine 4.

É importante fazer a distinção entre jogos exigentes e mal otimizados, considerando a ampla gama de expectativas de desempenho que os jogadores têm no PC. Colocar qualquer jogo exigente nesse mesmo grupo tira o impacto dos jogos que estão realmente quebrados no PC e enfraquece o clamor da comunidade de PC quando jogos como Star Wars Jedi: Survivor ou The Last of Us Part One surgem.

Continue mantendo os jogos de PC em um padrão elevado, mas também entenda quando é hora de destacar os pontos fortes de lançamentos que são estáveis e livres de problemas graves que quebram o jogo. O Starfield é um desses casos.