Esta semana a Microsoft revelou que sua nova API gráfica, o DirectX 12, amplia em mais de o dobro do desempenho do hardware atual e trabalha em todas as plataformas da Microsoft existentes.
No início deste ano, a nova plataforma da AMD, o Mantle demonstrou que era possível a API gráfica usar eficazmente todos os núcleos dos processadores modernos. O resultado foi um enorme impulso no desempenho com o Mantle habilitado em jogos, com muito pouco esforço do desenvolvedor, como mostrado pela Oxide Games e Battlefield 4.
O desafio para a AMD é que o Mantle é atualmente somente para PC e restrito às recentes placas de vídeo da AMD. Se ao menos houvesse mais fornecedoras de GPU que apoiassem mais o processamento multi-core poderiam fazer esta melhoria em todas as placas de vídeo.
Enquanto isso, o Xbox One da Microsoft foi até que bem recebido, mas tem sido criticado por estar com desempenho inferior ao console da Sony, o Playstation 4. A Microsoft respondeu isso com o DirectX 12. Com relativamente pouco esforço por desenvolvedor, os próximos jogos de Xbox One, PC e jogos para Windows Phone vão ter praticamente uma duplicação na performance gráfica.
De repente, jogos que no Xbox One que se esfaram para rodar em 720p, facilmente serão capazes de alcançar o desempenho fantástico em 1080p. Para os desenvolvedores, este é um divisor de águas.
O molho secreto
Microsoft foi capaz de alcançar os avanços de desempenho através de duas grandes mudanças para DirectX 12:
Bundles
Renderização paralela
A maioria do ganho de desempenho é resultado do DirectX 12 fazendo pleno uso de múltiplos núcleos de CPU. Por exemplo, em DirectX 11 um jogo típico realizaria assim:
Como você pode ver, na linha 0 (o ponto de partida para o jogo) está fazendo a maior parte do trabalho. Na verdade, o DirectX 11 é apenas utilizado pelos outros segmentos.
Mas no DirectX 12, a situação muda drasticamente:
O DirectX 12 não é eficiente apenas na linha da GPU, mas sim com a interação completa entre todas as camadas da GPU de maneira uniforme distribuindo todo o trabalho entre cada núcleo do processador.
Os resultados são espetaculares. Não apenas na teoria, mas na prática (a divulgação completa: Estou envolvido com o demo Swarm Star, que faz uso deste tipo de tecnologia.) Embora em cada geração há uma guerra de placas de vídeo para obter um desempenho consideravelmente melhor em relação à geração anterior, aqui, o mesmo hardware de repente pode duplicar sua performance.
XBox One com certeza é o maior beneficiado; ele efetivamente dá a cada proprietário de Xbox One uma nova GPU que é duas vezes mais rápido que a antiga.
Mas existe uma desvantagem para todo esse poder. Os jogos em DirectX 12 que serão os primeiros a utilizar plenamente as placas gráficas poderosas que os jogadores compraram nos últimos anos, pois o DirectX 12 não vai exigir uma nova placa de vídeo para as GPUs que já suportam DirectX 11.
Como resultado disso é que a GPU será empurrada duas vezes mais, o que significa mais calor nessas placas onde o sistema de resfriamento não será eficaz, pois quando eles só estavam sendo comandados por um único núcleo da CPU, não havia este super aquecimento.
Esperamos com isso ver muitos mais videos de soluções caseiras de instalação de MODs em placas de vídeo para evitar mais problemas de aquecimento com o DirectX 12, pois de repente ele empurra esses processadores para além do que era previsto.
Além disso, enquanto o DirectX 11 teve um modelo relativamente plug and play de experiência para os desenvolvedores, o DirectX 12 coloca uma ênfase muito maior no controle do desenvolvedor. Desenvolvedores podem e devem gerir conflitos de baixo nível de pipelining para aproveitar ao máximo a nova plataforma.
Isso é uma coisa boa para os desenvolvedores gráficos experientes, mas vai colocar os desenvolvedores menos experientes em desvantagem.
Não contente em apenas duas vezes o desempenho, a Microsoft também anunciou que eles estavam planejando o DirectX 12 juntamente com o Xbox One, Windows Phone e Windows PC. Isso significa uma única API gráfica para múltiplas plataformas.
Além disso, a Microsoft indicou que eles estavam fazendo DirectX 12 não apenas para jogos e sim visando todas as tarefas que se incluem.
Microsoft não forneceu uma data de lançamento para o DirectX 12, mas esperamos ouvir mais na próxima E3.


