Testamos o 'boost mode' da Switch: o que é e como funciona?
Mortal Kombat 11, Zelda: Breath of the Wild e Super Mario Odyssey analisados.
Vamos directos ao assunto - a Switch está realmente a evoluir e em certos casos, o hardware da Nintendo está a tornar-se mais poderoso do que era no lançamento. Recentes histórias falam num 'boost mode' para a híbrida e após investigar um trio de recentes lançamentos, confirmamos que a Nintendo está a aplicar um overclock selectivo à consola - mais precisamente, abre novas opções para os programadores melhorarem a performance portátil e ao mesmo tempo, ajustam a gestão térmica e relógios CPU para acelerar os tempos de carregamento.
Em Dezembro de 2016, quando falamos das configurações e velocidades do relógio que a Nintendo escolheu para a Switch, ficamos preocupados. As especificações do processador Tegra X1 eram conhecidas após estrearem na Nvidia Shield em 2015 e ficou a sensação que a Nintendo estava a ser conservadora. Os relógios da CPU estavam limitados a 1020MHz, enquanto na dock a GPU corria a 768MHz - muito abaixo da Shield. A situação era ainda mais preocupantes em modo mobile, onde a GPU descia para apenas 307.2MHz - mas a Nintendo adicionou um um modo 384MHz mais poderoso antes do lançamento.
Recentes desenvolvimentos apimentaram as coisas, através de mais opções para os criadores. Em algumas circunstâncias, a CPU da Switch sobe temporariamente para 1785MHz, enquanto os modos portáteis de The Legend of Zelda: Breath of the Wild, Super Mario Odyssey e Mortal Kombat 11 mostram as velocidades da GPU a subir para 460MHz - um aumento de 20% na frequência sobre o modo 384MHz, e uma melhoria de 50% sobre a opção 307.2MHz original. Além disto, existem indícios que sugerem o uso de um modo de frequência GPU dinâmica que se ajusta de acordo com a carga.
Mario e Zelda até usam duas destas melhorias ao mesmo tempo e vale a pena destacar como funciona o boost na CPU. Basicamente, é usado exclusivamente para melhorar os tempos de loading. Dois elementos definem a duração de um carregamento: a performance do armazenamento que transporta os dados para a memória e a velocidade da CPU para descomprimir os dados que o sistema recebe (o espaço de armazenamento é um bem valioso e os dados são comprimidos para poupar espaço). Com uma Switch modificada a correr um software de gestão e monitorização de frequência (SysClk) consegui ver o hardware da Nintendo a iniciar Mario e Zelda com a CPU a 1785MHZ, antes de voltar para o padrão de 1020MHz quando a descarga foi completada.
Subir a frequência da CPU em 75% é uma grande melhoria, mas conseguir 1785MHZ para o loading é inspirador. O componente que mais energia consome no processador Tegra X1 é sem dúvida a gráfica Nvidia Maxwell, mas, habitualmente, quando os jogos estão a carregar, o uso da GPU é mínimo. As exigências sobre a bateria e gestão térmica são mínimas neste momento, significando que existe muita margem para a CPU ser temporariamente aumentada para a sua máxima frequência. Iniciar Super Mario Odyssey demorava 28 segundos (com a CPU a correr a 1020MHz), enquanto a mais recente versão com o código 'boost' aplicado demorou 20 segundos - uma redução de 29%. O ajusto dinâmico na velocidade da CPU também se aplica aos loadings in-game, mas os tempos de carregamento apenas conseguiram um ou dois segundos a menos.
É um belo truque e não há razão para não ser aplicado aos loadings de mais jogos no futuro, sejam first ou third party. As evidências indicam que os testes da Nintendo começaram com os seus jogos, antes de chegarem aos criadores externos - como vemos pelas melhorias de 20% nas frequências GPU em modo portátil. Zelda: Breath of the Wild e Super Mario Odyssey parecem ter sido os primeiros a receber o modo portátil a 460MHz, seguidos por Mortal Kombat 11 da NetherRealm Studios - primeiro estúdio third-party a aceder a este novo modo.
Com uma Switch modificada, o monitorizador de frequências SysClk permite aplicar um overclock e até underclock à consola. Tais modificações não autorizadas por resultar numa consola banida dos serviços online e não é algo que recomendamos, mas foi a única forma de confirmar as mudanças feitas pela Nintendo às velocidades dos relógios e à performance. No caso de Mortal Kombat 11, que pode descer dos 60fps em certos casos - o SysClk permite-nos forçar a Switch a correr com os modos mobile de menor performance.
Através de um Replay para igualar os visuais, os resultados são fascinantes. A 384MHz tens uma performance geral menos estável, mas acredito que este foi o modo usado para configurar o modo mobile do jogo, enquanto a nova opção 460MHz dá aos programadores a opção de performance mais fluída e melhor qualidade de imagem, uma vez que a conversão dinâmica de resolução explora a margem extra da GPU. Podemos presumir que maior consistência na resolução e performance também constituem os grandes ganhos em Zelda e Mario, ambos usam resolução dinâmica e podem descer do alvo de fotogramas.
Dock | Portátil #1 | Portátil #2 | Portátil #3 | Loading 'Boost' Mode | |
---|---|---|---|---|---|
CPU Clock | 1020MHz | 1020MHz | 1020MHz | 1020MHz | 1785MHz |
GPU Clock | 768MHz | 307.2MHz | 384MHz | 460MHz | Título/Dependente do Modo |
EMC Clock | 1600MHz | 1331MHz | 1331MHz | 1331MHz | Título/Dependente do Modo |
Existem outras coisas dignas de menção, especialmente os espantosos ports de DOOM e Wolfensten 2 da Panic Button. Ambos usam resolução dinâmica e anti-aliasing temporal para obter a melhor performance possível da GPU. O SysClk indica que a velocidade da GPU se ajuda de forma dinâmica, alternando rapidamente entre 307.2MHz, 384MHz e 460MHz rapidly. Durante 6 minutos a jogar DOOM, o SysClk anotou 28 mudanças na velocidade da GPU.
O SysClk também permite testar outros potenciais vectores do overclocking disponíveis para a Nintendo. Parece existir um modo CPU 1224MHz oficial, mas que ainda não é usado e poderá servir para dar aos criadores de jogos margem de manobra no processador ao correr ferramentas de desenvolvimento. Se a Nintendo pode aumentar as velocidades GPU em 20% para melhor performance, alguns jogos menos exigentes para a CPU poderiam beneficiar com este modo 1224MHz, sem interferir com a GPU.
Também considero intrigante o potencial para a Nintendo aumentar a largura de banda da memória no modo mobile. O EMC (controlador de memória embutido) corre a 1600MHz na dock, descendo para 1331MHz em modo portátil. Isto pode ser fixado a 1600MHz em modo mobile através do SysClk sem afectar muito a bateria - em alguns casos, até ajuda a performance. Existem relatos que a trepidação na floresta Korok em Breath of the Wold em modo mobile é altamente melhorada ao subir a largura de banda da memória para o que tens em modo dock.
Na dock, a GPU Maxwell do Tegra X1 pode correr a 921MHz - outro aumento de 20% sobre a especificação padrão. Existem relatos de consolas que dobraram na dock - talvez devido a problemas no aquecimento - por isso duvido que este modo seja apresentado, pelo menos na actual Switch. Existem rumores de uma Switch Pro que poderá ter melhor performance e ao mesmo tempo, descargas de firmware revelaram que a Nintendo tem uma nova revisão ao processador da Switch em andamento, chamada 'Mariko'. Poderá ser uma versão refinada do existente Tegra X1 'Logan' e poderá permitir uma operação mais eficiente, com melhor refrigeração, necessária para frequências GPU e CPU superiores.
Actualmente, podemos dizer que as histórias de um boost mode na Switch estão correctas - mas as similaridades com a funcionalidade na PS4 Pro são limitadas. Na consola da Sony, decides se usas o poder CPU ou GPU extra, enquanto na Switch é o programador que decide. Um overclocking selectivo para 1785MHz ajuda nos tempos de loading, mas a opção 1224MHz pode chegar no futuro, em jogos que precisam dela. Entretanto, uma melhoria de 20% na velocidade da GPU ajuda nas experiências mobile mais exigentes. Anos depois do lançamento, a Nintendo puxa o hardware da Switch para conseguir melhor performance e estou curioso para ver o que fará em seguida.