Mastodon
Universo Nintendo

Do que o Switch é capaz?

Quando a Nintendo nos mostrou o Switch, em outubro de 2016, a idéia de ter um console que transitasse de forma fluida entre um portátil e um console de mesa era fantástica, mas que fazia bastante sentido. Porém, a tecnologia na qual o Switch é construído possui seus limites, mas com a chegada de jogos como The Witcher 3 este ano, se juntando a um conjunto de títulos que vão bem além do que inicialmente se esperava da plataforma, está cada vez mais difícil de entender estes limites. Mas afinal, do que o Switch é capaz, tecnicamente?

Pensamento Lateral

A Nintendo é famosa por descontextualizar tecnologia para entregar produtos inovadores e o Switch não é muito diferente. Muitos acham que a grande inovação do Switch, sua habilidade de joga tanto na TV quanto fora dela, vem de avanços tecnológicos pontuais, mas a verdade é que os grandes protagonistas são… os Joy-Con. É justamente a idéia genial de eu ter um par de controles que podem ser usados em conjunto quando jogado na TV, encaixados ao console quando jogado fora de casa ou separados para multiplayer local.

Quando analisamos o restante do aparelho de forma fria, ele nada mais é do que um tablet com saída de vídeo. Sabe qual produto também é um tablet com saída do vídeo? O primeiro iPad, de 2010. Se a gente expandir os critérios um pouco mais, o Nomad, da SEGA, também possuía saída de vídeo em 1995. A grande sacada do Switch, portanto, não é o que ele faz, mas sim como ele faz.

Mas do que ele é feito?

Incrivelmente, não há nada de especial. O Switch usa o Tegra X1, um SoC (System on Chip) desenvolvido em 2015 pela Nvidia para equipar o Shield, o setup-box da empresa. 

Quanto à CPU, estamos olhando para uma arquitetura ARM, rodando quatro núcleos A57 originalmente a 1900 MHz, mas rebaixados para 1020 MHz com o objetivo de conservar bateria e domar a temperatura intera. Ainda há mais quatro núcleos A53 rodando originalmente a 1300 MHz que só são ativados quando não há muita carga de processamento. No caso do Switch, eles estão desabilitados pois o foco é manter o pico de performance durante o jogo. 

No entanto, o foco do X1, devido ao legado da Nvidia, é o chip gráfico. Desenvolvido carregando todas as inovações da época, estamos falando da arquitetura Maxwell com 256 núcleos rodando, originalmente, a 1000 MHz. No entanto, para conservar energia e não superaquecer o console, a freqüência é diminuída para 768 MHz quando conectado à TV e um máximo de 460 MHz quando fora da dock. A grande vantagem aqui é a utilização de uma arquitetura basicamente igual ao que a empresa empregava em suas placas de vídeo para desktops na época, o que não somente ajuda na performance como também ao familiarizar desenvolvedores com algo que já estão acostumados, e já possuem código otimizado.

Tudo isso é aliado a 4 GB de memória RAM DDR4 de baixo consumo energético rodando a 1600 MHz no dock e 1331 MHz fora do dock. Este é o único ponto no qual o Switch apresenta alguma melhora quando comparado com os demais aparelhos que usam este SoC, tendo em vista que ele possui 1GB a mais que o Shield e o Pixel.

Muito embora, quando observado o mercado mobile, a CPU tenha sido superada rapidamente já em 2015, a GPU só veio perder seu trono em meados de 2017. O trabalho da Nvidia aqui foi incrível, mas ele tem um grande porém: Foi projetado ao lado de um aparelho (o Shield) pensado para ser usado enquanto conectado na energia. Por conta disso, a eficiência energética e térmica não foi pensada para ser acompanhado a uma bateria, daí vem as mudanças nos clocks da CPU, GPU e RAM.

Bem, tudo isso é verdade… até este ano. Uma revisão do Tegra X1, carregando o codinome Mariko, diminuiu o processo de fabricação de 20nm para 16nm finfet, diminuindo consigo o consumo energético e, portanto, a dissipação de calor. Obviamente que a Nintendo procurou fazer uso do novo chip no Switch Lite e na revisão do modelo comum, mas a empresa ficou de mãos atadas quanto à possibilidade de melhorar a performance devido a não prejudicar os donos do modelo original. Portanto, para manter a performance semelhante, o novo chip é sim utilizado, em ambos os modelos, apenas para melhoria na bateria.

E do que ele é capaz?

Bem, muita coisa para falar a verdade, mas há limitações claras. Querendo ou não, o Switch é um hardware não somente mais novo como também mais elegante que APU da AMD que equipa os consoles concorrentes. Estamos falando aqui de acesso a APIs públicas mais eficientes, como o Vulkan, além de ferramentas desenvolvidas pela própria Nvidia. Onde antes a Nintendo pecava bastante em não ter um conjunto de ferramentas de qualidade e bem documentadas, agora que este trabalho é da Nvidia as desenvolvedoras possuem acesso a um ambiente de desenvolvimento incrível.

A vantagem de não estar rodando um sistema pesado e mal otimizado no fundo ajusta bastante. Ao contrário do Android, que possui um nível de abstração enorme para se comunicar com seu hardware, o Switch disponibiliza acesso de baixíssimo nível às desenvolvedoras. A disparidade quando comparado com o iOS é menor, devido às excelentes bibliotecas, como o Metal, mas ainda há uma maior facilidade em estabelecer contato com o hardware.

Mas vamos analisar o hardware em si. A começar pela CPU, estamos lidando com uma configuração com seus altos de baixos. A Nintendo permite que desenvolvedores usem três núcleos dos quatro disponíveis, então essencialmente temos menos da metade do que está disponível para ambos o PS4 e o Xbox One, sete núcleos, sem levar em consideração a freqüência reduzida de 1600 MHz para 1020 MHz. A diferença é muito maior do que se imagina.

Quando analisamos apenas a lógica de jogo, dentro de um ambiente fechado, não há tantas perdas. Um título como Breath of the Wild, por exemplo, apresenta física, inteligência artificial, persistência de cenário e demais cálculos no mesmo nível, se não melhor, que jogos semelhantes nos demais consoles e PC. Claro que estamos falando em um jogo desenvolvido exclusivamente (ou quase, não esqueçamos do Wii U) para o console, situação na qual é muito fácil aparar as arestas da engine para funcionar exatamente a contento.

Jogo multiplataforma, no entanto, costumam ter um código bem mais genérico e, portanto, menos eficiente. Um exemplo disso é Final Fantasy XV, um jogo que não faz absolutamente nada que o Switch não fosse capaz de reproduzir, mas que até mesmo PCs de alta performance têm dificuldade em rodar plenamente. Portar um jogo como este requer reescrever partes cruciais do código que, no fim das contas, não faz muito sentido dentro do orçamento.

Temos que levar em consideração também que a maioria dos jogos são também desenvolvidos para PC, onde não prevalece CPUs com oito ou ou mais núcleos. Claro, estamos falando de frequências bem maiores aqui, mesmo que com menos núcleos, mas mesmo assim a lógica do multithread será minimamente otimizada para uma realidade próxima à do Switch. 

Além disso, em certos casos a fraqueza da CPU não é tão evidente porque o uso dela está diretamente ligado a cálculos relacionados à imagem. Sim, esse é teoricamente o trabalho da GPU, mas a CPU ainda é responsável por coisas como descomprimir texturas em tempo real. Então caso a textura não seja de tão alta resolução, é óbvio que trabalho será bastante reduzido, ajudando, portanto, a performance geral do Switch.

Porém, mesmo que o jogo seja exclusivo, há limites bem definidos. Carregar arquivos em tempo real é uma tarefa que o Switch particularmente sofre um pouco, onde recentemente vimos até mesmo Link’s Awakening, um jogo relativamente simples, apresentar problemas de performance por conta disso, provavelmente relacionadas à banda de memória baixa. Deformações complexas de cenário, interação de modelos em múltiplos pontos, física de cabelo/roupa detalhada e interações com múltiplas AI são casos nos quais a CPU do Switch realmente mostra que foi projetada com uma expectativa totalmente diferente.

Tudo isso é importante para entendermos que o único fator realmente limitante quando um jogo é portado para o Switch é a CPU. É nela que está toda a lógica do jogo, e caso seja impossível reproduzir esta lógica tal qual as demais plataformas, então não estamos mais falando “do mesmo jogo”. Por exemplo, se quando eu ligar Doom no Switch eu não estiver lutando contra a mesma quantidade de inimigos igualmente inteligentes que no PC, então eu não estou jogando Doom, eu estou jogando outro título. E nesse caso realmente não temos muito para onde fugir.

E isso nos leva à GPU, onde a diferença para as demais plataformas do mercado é ainda maior, porém proporcionalmente não menos importante. Sim, estamos falando de um chip gráfico gráfico em torno de seis vezes mais poderoso, no caso do PS4, mas que no fim das contas não faz tanta diferença quanto imaginamos. 

O que muitas pessoas não sabem é que uma pipeline gráfica é totalmente escalonável. Basicamente um desenvolvedor pode adaptar os visuais do seu jogo para rodar em praticamente qualquer plataforma. Você pode pegar um título como Super Mario Odyssey e mudar todos a pipeline gráfica para ficar igual a Super Mario 64 e voilá, você tem instantaneamente um jogo bem mais leve. Mas obviamente que mexer muito nos visuais de um jogo nem sempre é algo viável, e o resultado final nem sempre é algo reconhecível.

Primeiramente, temos que falar dos custos. Todo jogo que possui uma versão para PC é desenvolvido com escalabilidade em mente. Normalmente estamos falando de cinco níveis de qualidade diferente que adaptam uma grande quantidade de efeitos visuais e recursos diferentes. Sabendo disso, o Switch pode usar uma versão very low das texturas desenvolvidas para o PC e o custo de desenvolvimento para isso seria basicamente zero. 

Mas comumente encontramos a necessidade de ir além, como o exemplo de Doom, que se fez necessário o desenvolvimento de novas texturas numa qualidade ainda menor que a disponível no PC. Além disso, também foi necessário desenvolver uma implementação totalmente nova do efeito de depth-of-field. Mesmo com todas estas mudanças, o jogo ainda é reconhecível de longe, e isso é um grande feito.

Porém, este é um trabalho complicado porque o nível de reconhecimento da visão original é muito relativo. Um exemplo seria Mortal Kombat 11, onde as mudanças na iluminação (ou a falta dela) fez com que o jogo tenha uma aparência bastante diferente das demais versões, mas foi o único ponto que os desenvolvedores encontraram para balancear a estética com o framerate necessário. Não houve uma adaptação forte, por exemplo, dos modelos dos personagens, que parecem ser basicamente os mesmos. Em casos como este, podemos dizer que as mudanças tiveram um bom motivo por trás, mas nem sempre teremos a mesma desculpa.

Enquanto que Doom e Wolfenstein 2 tiveram a sorte de serem portados de uma versão que rodava a 60fps para metade disso sem influenciar na jogabilidade, jogos como Mortal Kombat 11 não possuem a mesma sorte. O jogo da Netherealm simplesmente não pode dar a desculpa de rodar num framerate menor. Não me entenda errado, a versão de Switch é muito decente, mas o downgrade visual é muito evidente. Caso a Capcom quisesse trazer Devil May Cry 5, outro jogo que precisa rodar numa taxa de quadros por segundo alta, para o Switch, as mudanças visuais seriam grandes, mesmo que a lógica de jogo não seja tão complexa e, portanto, não causasse problemas à CPU. O mesmo não pode ser dito de Resident Evil 2, que poderia funcionar facilmente a 30fps, já que não é um jogo que tem 60fps como requisito.

Temos que também lembrar que a taxa de quadros de um jogo é um trabalho em conjunto da CPU com a GPU. Não adianta você ter um chip gráfico super potente, capaz de realizar os cálculos visuais de um jogo a 60fps, se o processamento que a CPU precisa realizar apenas a permite roda-lo a 35 ou 40fps. Afinal, se um inimigo vai ter uma reação a algo que o personagem faz, calcular essa reação sessenta vezes a cada segundo é muito mais pesado do que metade disso. Com isso em mente, a mudança para 30fps se torna uma necessidade tendo em vista que tal jogo nunca conseguiria rodar numa taxa de quadros em sincronia com a televisão.

Levando isso em consideração, temos que entender que nesse caso o Switch é, tal como os demais consoles, bastante desbalanceado, com uma GPU bem mais potente que a CPU. Embora eu diga que nesse aspecto ele é semelhante ao PS4 e Xbox One, temos que levar em consideração que estes possuem recursos de sobra e a lógica de jogo é algo fixo, então o Switch sempre sairá levando a pior nesse caso. Adaptar jogos mais pesados no quesito CPU para o aparelho da Nintendo é complicado quando a maioria dos projetos multiplataformas o enxergam como uma plataforma secundária, onde o código não é feito com ela em mente.

E por fim, temos que discutir a questão da memória. O Switch possui 3,5 GB disponível para jogos. É quase metade do que está disponível nos demais consoles e na maioria dos PCs. A verdade aqui é que isso não é um problema tão grande quando levamos me consideração que as texturas, o tipo de arquivo que mais pesa na memória, não são de tão alta resolução, mas essa quantidade limitada de RAM também afeta a distancia na qual elementos são renderizados na tela.

O que mais afeta a performance do console, no entanto, é a largura de banda da memória, com apenas 25,6 GB/s. Este é o elemento que mais o aproxima, se não o único, da a geração passada e afeta diretamente a capacidade do console de exibir diversos efeitos que precisam ser calculados múltiplas vezes por segundo, tal como pós processamento de imagem que se faz tão importante nos dias de hoje. Isso significa implementações ruins de AA, quando sequer há, e efeitos de transparência em resoluções baixíssimas.

E como isso afeta os jogos?

Uma falácia que escuto bastante é de que o Switch é um console com hardware da geração passada. Definitivamente isso é errado. Quando comparado ao PS3, estamos olhando para um aumento de 4 vezes na quantidade de núcleos de CPU, 8 vezes na quantidade de memória RAM e uma GPU tão diferente e mais eficiente que chega é difícil de comparar.

Mas… e se não houver “console da geração passada”? Quando analisamos o panorama de jogos recentes para além dos gráficos, quais são os reais avanços em jogabilidade que realmente justificaram uma nova geração? A verdade é que não muitos.

Mesmo sendo bastante inferiores aos atuais, os aparelhos da sexta geração eram mais capazes do que imaginamos. Foi neles que GTA V (e o IV, antes dele) trouxe um grande e complexo mundo aberto com alto nível de simulação. Far Cry 3 (e o 4) e Breath of the Wild foram jogos system-driven onde até hoje encontram-se novas formas de jogar. E por falar em sandboxes, Phantom Pain também foi um jogo com múltiplas opções de realizar missões, além de possuir uma AI de dar inveja em diversos títulos atuais. 

Todos esses jogos não parecem menos complexos que as ofertas atuais, inclusive alguns estão disponíveis na nova geração e ninguém reclamou por estar jogando algo desatualizado de alguma forma. Isso porque o design dos jogos não mudou drasticamente. Se colocarmos os gráficos de lado por um instante e focarmos apenas na jogabilidade, o que impede o Gamecube de rodar o remake de Resident Evil 2, lançado em 2019, quando ele roda Resident Evil 4 tão bem? Ou o que impede o Xbox 360 de rodar Devil May Cry V quando ele já roda o 4, que não possui grandes mudanças na complexidade do gameplay? Por que achamos Assassin’s Creed Odyssey tão mais pesado que Black Flag quando as novas mecânicas introduzidas são relativamente simples e inclusive replicadas em certos RPGs da época, como Skyrim? Esses são conjuntos de exemplos que sinceramente não tem fim.

Isso tudo se deve ao fato de que não houve um grande aumento no escopo dos jogos, simplesmente porque escalonar a equipe de desenvolvimento para se acomodar a tal mudança seria inviável. O nível de P&D necessário para desenvolver um novo nível de jogabilidade simplesmente não vale a pena; Não quando as mecânicas que temos já são complexas o suficiente para o público alvo. Portanto, o foco acaba ficando em aumentar o nível da simulação gráfica, justamente a parte que é mais fácil de adaptar a hardwares menos potentes.

Quando analisamos o Switch, ele não parece ter problema em lidar com as expectativas de jogos atuais. Breath of the Wild traz diversas camadas de sistemas complexos formando uma jogabilidade totalmente imprevisível, então o que impede Far Cry 5 de dar as caras no Switch? Se Smash Bros. Ultimate consegue colocar oito personagens na tela ao mesmo tempo interagindo com itens e assist trophies, por que a Bandai Namco não porta SoulCalibur VI ou Tekken 7? Se The Witcher 3 está chegando ao Switch em novembro, por que Monster Hunter World não pode dar as caras?

De forma geral, o que eu quero dizer é que são poucos os jogos que estão no PS4 e, principalmente, no Xbox One que realmente não funcionariam no Switch do ponto de vista tecnológico. O grande problema é que tais ports poderiam ser muito custosos devido à necessidade de reescrever grandes partes do código para melhor acomodar o console. Dragon Quest XI, por exemplo, teria sido bem complicado caso a Epic não houvesse atualizado a Unreal Engine 4 com as otimizações necessárias para funcionar a contento no Switch, e mesmo assim recebeu otimizações pontuais. O port de Crysis para PS3 e 360 é um exemplo que sempre me vem à cabeça: Os caras tiveram que portar o jogo inteiro para a terceira versão de sua engine só para tornar o port possível. E não se engane, a CD Projekt deve ter realizado mudanças igualmente profundas no código de The Witcher 3 para alcançar resultados semelhantes.

Mas e o futuro?

2020 será um ano importante. A Sony e Microsoft já anunciaram seus consoles de próxima geração, com janela de lançamento para ano que vem. A Nintendo, obviamente, está calada, mas com razão: O Switch está vendendo de vento em polpa, e falar sobre lançar um sucessor para ele neste momento seria um tiro no pé.

Porém, a vinda de novos consoles muito provavelmente obrigará as empresas terceirizadas a elevar as expectativas de seus jogos e, portanto, trabalhar em novas ferramentas e novos modelos de desenvolvimento. Os problemas atuais de incluir Switch no desenvolvimento destes jogos, muito evidente no caso da Capcom e da EA, provavelmente serão mais evidentes a partir de 2020.

Mas não entenda errado, não estou dizendo que estas empresas abandonarão o console. O Switch, com sua atual base instala que só tende a crescer, ainda é um plataforma extremamente rentável. Porém, talvez faça mais sentido que tais empresas encarem o aparelho com a mesma abordagem do 3DS (e dos demais portáteis antes dele) e foquem em desenvolvimento de títulos com orçamento menor, provavelmente exclusivos à plataforma e talvez dividindo atenção com o mercado mobile.

Bem, o futuro ainda é o uma incógnita. É bem possível que a Nintendo resolva trazer um nova geração do aparelho em 2021 ou 2022, que possa andar em conjunto com as expectativas para AAA das demais empresas, mas é possível que ela atrase o processo por conta da base instalada atual, até porque o hardware do Switch não a impede de desenvolver seus jogos. Só nos resta aguardar.

Imagem de capa produzida pela Fictiv em seu teardown do aparelho original, em março de 2017.

você pode gostar também
Comentários