A AMD revelou uma alternativa ao DirectX e optimizada para as suas placas de arquitectura GNC. É um API de baixo nível que pode oferecer até 9x mais performance. Mas quais serão as implicações de tal API no mercado?
O passado
Olhando para o passado podemos lembrar-nos da 3DFX, a empresa responsável pelas placas Voodoo, e que eram na altura reconhecidas pelas suas performances.
É certo que as placas da 3DFX eram excelentes, mas um dos motivos pelos quais a placa se tornou famosa foi pela existência do seu próprio API denominado de GLIDE e que optimizava ao máximo as performances da placa ao permitir um acesso ao hardware bastante superior ao oferecido pelo DirectX.
Deja Vu, e a ameaça ao DirectX e à supremacia Windows.
E ao que parece a AMD está agora a repetir os passos da 3DFX, criando um API de baixo nível para as suas placas e que poderá ser usado no mercado PC.
Como já tivemos oportunidade de explicar aqui, um dos motivos pelos quais conseguimos actualmente executar jogos de topo nas consolas, mas que seriam impossíveis de serem executados em PCs com hardware equivalente, é o API usado. As consolas usam APIs de baixo nível que permitem acesso mais directo ao hardware, ao passo que o PC usa por norma o DirectX, um API alto nível.
Os APIs alto nível são mais fáceis de serem usados e de se programar para eles, mas são bastante limitativos nas performances oferecidas. O DirectX foi bastante melhorado na passagem do DX9 para o DX10 com uma melhoria substancial na redução das perdas de performance, mas mesmo assim ainda se estima que cerca de 30% das performances de uma placa gráfica seja perdidas apenas pelo facto de esta usar o DirectX. Essas perdas estão contabilizadas como o “overhead” nos gráficos de baixo.
No entanto, apesar das suas limitações, o DirectX tem-se mantido intocável. E o motivo é simples, o seu concorrente, o Open GL é apenas equivalente, sendo igualmente de alto nível, e sendo o DirectX o API por excelência da plataforma Windows, este tornou-se no standard usado no mercado.
Mas eis que a AMD se intromete aqui, com a criação de um API de baixo nível que disponibilizará gratuitamente, que é compatível com o DirectX, e que para além de permitir aumentar tremendamente as performances das placas gráficas da marca baseadas na arquitectura GNC (Radeon série 7xxx e superiores), quebrará igualmente barreiras ao ser disponibilizado para todos os sistemas operativos que o desejarem, e não apenas o Windows.
As vantagens do Mantle
Como já referimos, este API oferece vantagens tremendas ao oferecer um acesso directo ao hardware. As perdas de performance diminuirão, mas mais ainda o numero de chamadas gráficas realizadas pelo CPU irá aumentar. De acordo com a AMD, actualmente com o DirectX, o CPU, mesmo um topo de gama, não possui capacidade suficiente para realizar um numero de pedidos gráficos (draw calls) que preencha as capacidades totais das placas gráficas. E será neste campo que este API oferecerá as maiores vantagens. No global a AMD refere que os ganhos teóricos com as suas optimizações o número de draw calls poderá ser 9x superior ao actual. No entanto, não contem com esse valor na performance total onde, quando muito os ganhos deverão ser, no máximo, duplos.
Outra das grandes vantagens do Mantle é a compatibilidade com o DirectX, sendo baseado no HLSL da Microsoft. Curiosamente uma série de situações que possuem extremas semelhanças com o API GNC da Sony usado na PS4, mas há quem afirme que na realidade esta é uma cópia do API da Xbox One.
As possíveis reacções do mercado
Apesar de o publico em geral, particularmente os possuidores de placas ATI série 7xxx e superiores, ter motivos para estar claramente entusiasmado com esta situação, há outros intervenientes de peso que poderão não estar.
Apesar de nada ser concreto, a AMD poderá mesmo libertar este API para outros sistemas operativos, e Apple, Valve, Linux, e muitos outros certamente ficariam agradecidos por passarem a ter um API universal que permita a passagem dos jogos Windows para os seus sistemas operativos.
Mas e a Microsoft?
Até agora a Microsoft vendia o seu DirectX como o API por excelência, e algo que tornava o Windows na plataforma de jogos mais conhecida e usada do mercado. Aliás para promover o Windows Vista e 7, a Microsoft tornou o DX 10 exclusivo para esses sistemas, e mesmo o DX 11 só é suportado na sua totalidade com o Windows 8. Eram políticas monopolistas e que agora se arriscam a chegar ao fim, e naturalmente a Microsoft não deverá estar nada contente com este anuncio, não só por perder o monopólio do API, mas particularmente no que diz respeito ao domínio do Windows como o sistema de preferência para jogos PC.
A questão que se coloca é até que ponto os programadores poderão estar interessados em fragmentar o mercado e criar jogos optimizados apenas para as placas ATI, motivo pelo qual, pelo menos para já, a adopção deste API deverá ser reduzida.
Aliás quem deverá estar prestes a arrancar os cabelos é a Nvidia. Caso este API se torne popular as suas placas ficarão a perder a nível de performances, e isto apesar de as mesmas serem mais caras.
Será assim expectável que possam acontecer várias situações:
Uma possibilidade é a Microsoft começar desde já a pensar em libertar as optimizações que faça ao DirectX da sua Xbox para o seu DirectX PC. Mas isso será mau para a sua consola que verá o fosso para os PCs aumentar.
Já a Nvidia poderá licenciar o API junto da AMD de forma a que este venha a suportar as suas placas (tal como o fez com a tecnologia TressFX usada em Tomb Raider), ou alternativamente aliar-se à Microsoft para a criação de um suporte de baixo nível no seu DirectX (Há no entanto rumores que o APi será Open Source pelo que outras marcas o poderão alterar e criar igualmente suporte para as suas placas). Alternativamente poderá mostrar-se hostil face ao mesmo.
Seja como for, Sony e Microsoft deverão estar pouco agradadas com este API. As vantagens das consolas face aos PCs sempre se baseou parcialmente neste tipo de optimizações. E caso este suporte se torne banal no PC grande parte das suas vantagens desaparecerão tornando as consolas obsoletas em apenas alguns anos
Seja como for, com um API de baixo nível mega optimizado para as placas Radeon será de prever que tanto Sony como Microsoft o adoptem nas suas consolas para o máximo rendimento possível. Mas tal terá como consequência, com o mesmo API igualmente optimizado, as diferenças no hardware virão ao de cima mais do que nunca.
Conclusões
Este é um API que pela primeira vez permite realmente libertar a potência dos CPUs e GPUs, sejam eles os usados nas consolas ou nos PCs. Com ele entraremos num novo universo de performances, mas correndo o risco de desagradar a muita gente.
Falta agora vermos as pressões que eventualmente o mercado pode vir a exercer sobre a sua existência. Aliás John Carmack pensa o mesmo, e acredita que a Microsoft e a Sony podem ser hostis perante o lançamento deste API, particularmente agora que a Valve se prepara para lançar uma consola. E eu acrescentaria a Nvidia ao grupo.
Certo, certo, é que este API, apesar das suas vantagens pode não cair bem no mercado.