Há algum tempo, nós publicamos uma análise em detalhes sobe a performance da nova API da Microsoft frente à versão antiga do software e aos recursos do Mantle.

Ainda que poucos testes do DirectX 12 estejam disponíveis e possibilitem ter uma noção de suas capacidades, as informações que temos a respeito do novo software que virá no Windows 10 nos dão boas pistas do que veremos pela frente.

As promessas de melhorias nos computadores são grandiosas, mas qual será o benefício da nova API no Xbox One? Afinal, os jogos poderão rodar com melhor resolução? Como fica a taxa de frames? Qual será a mágica no console da Microsoft?

Um diálogo mais coerente entre hardware e software

A primeira coisa que precisamos entender é que Xbox One é um computador focado em jogos. Toda a parte de hardware desse dispositivo é muito parecida com a de um desktop, sendo que a arquitetura (arranjo dos componentes, comunicação e funcionamento como um todo) do processador e do chip gráfico é tal qual o que vemos em alguns chips para PCs.

Não é de se surpreende também, já que a fabricante dos principais componentes que cuidam do processamento no Xbox One é a AMD — a mesma que faz as placas Radeon, processadores FX e APUs da série A. Considerando a parte do hardware, você pode presumir que o sistema operacional e seus programas principais não são tão diferentes, e de fato não é muito diferente.

O DirectX utilizado neste console não é um bicho de sete cabeças e se assemelha ao que é usado no Windows para PCs. Hoje, o DirectX 11 para Xbox One traz uma série de configurações para garantir o melhor aproveitamento das peculiaridades do console (como as memórias eSRAM e DDR3), porém a comunicação entre a API e o hardware pode ser melhorada.

A chegada da nova API da Microsoft deve mudar esse quadro, garantindo o melhor aproveitamento dos recursos e entregando mais desempenho ao consumidor. Assim como o software para PCs, o DX12 para consoles elimina o desperdício processamento, o que, na prática, pode significar taxas mais altas de frames por segundo ou resoluções maiores.

A mágica acontecendo

Falando assim, parece que o DirectX 12 simplesmente é instalado e dá mais poder ao console, mas a verdade é que ele apenas consegue gerenciar o equipamento de forma diferente. Esta API se aproveita do chamado Asynchronous Shaders, um recurso que possibilita executar tarefas diferentes de forma independente nos núcleos do chip gráfico.

Em teoria, com essa novidade, até mesmo a CPU pode ajudar a GPU em alguns casos de extrema necessidade, desafogando o chip gráfico e entregando resultados estonteantes em menor tempo. Para entender melhor, vamos falar um pouco sobre como as coisas funcionam e de que forma o DirectX 12 vai dar uma turbinada nas tarefas.

Cada frame que é mostrado na tela é uma composição de vários polígonos, sombras, texturas, efeitos e outros tantos elementos. Cada pixel apresentado deve ser processado pela GPU, sendo que há uma ordem para as coisas acontecerem. As tarefas são posicionadas em fila, de modo que o chip gráfico realiza uma tarefa após a outra.

Com o DirectX 11, essa fila era processada de forma sincronizada, sendo que os núcleos do processador de vídeo trabalhavam em conjunto. O funcionamento da atual API da Microsoft faz muito sentido e funciona sem problemas, porém, muitas vezes, há um grande desperdício de poder de processamento, já que alguns componentes precisam aguardar até que outros terminem suas tarefas para poder começar a próxima etapa da renderização.

O Asynchronous shaders já é utilizado em alguns games do PlayStation 4 (como Infamous: Second Son), garantindo o processamento de alguns efeitos de forma muito mais rápida e entregando um resultado de qualidade sem causar grande impacto no desempenho dos jogos.

Usando a memória da forma correta

Apesar de a arquitetura do Xbox One ser similar a dos computadores, o chip gráfico do console da Microsoft difere dos componentes dos PCs por trazer a memória eSRAM. Essa memória de alta velocidade serve como um cache para realizar cálculos rápidos e entregar resultados mais imediatos.

É importante ressaltar que a memória eSRAM já funciona bem no DX11, mas não são poucos os desenvolvedores que reclamam da complexidade do componente. Agora, com a atualização da API da Microsoft, é bem possível que essa memória leve o console a um novo patamar de desempenho, possibilitando melhores resultados no processamento dos frames.

De acordo com a informação da Gamespot, na última atualização do DirectX 12, a Microsoft lançou uma atualização que serve justamente para otimizar o uso deste componente. Vale constatar que isso não significa que o console terá condições para alcançar o desempenho do PS4, seja em resolução ou em framerate — já que há limitações de hardware.

Uma revolução no Xbox One?

Conforme algumas notícias já deixaram claro, a atualização da API do Xbox One deve servir principalmente para melhorar os visuais e garantir um desempenho mais satisfatório, mas não necessariamente veremos todos os jogos rodando em 1080p.

Há informações de que o console até mesmo poderá rodar conteúdos em 4K, mas é preciso ter muita calma na empolgação, pois em nenhum lugar a Microsoft afirma que seu produto vai rodar jogos em tal resolução. Talvez alguns vídeos e apps sejam especialmente preparados para essa qualidade, mas não espere milagres.

No fim das contas, teremos que aguardar até a chegada do DirectX 12 no console para ver todas as maravilhas que a Microsoft vem prometendo, bem como as manobras de aproveitamento do produto por parte das desenvolvedores, que possivelmente já estão trabalhando há algum tempo com a API. Enfim, o DirectX 12 é promissor, mas ainda tem chão até vermos a mágica acontecer.