Nos últimos anos, nenhuma API tem feito tanto barulho quanto o DirectX 12. Para muitos, ele é o santo que chegará para trazer todos os milagres que os PC gamers (e os donos de Xbox One) estavam esperando. Fazer a placa de vídeo que você já possui ter melhor desempenho e trazer cenários mais complexos, com centenas de milhares de objetos são só algumas das promessas.

Mas, apesar do domínio da API da Microsoft no mercado de games de PC, há uma outra grande API que, há muito tempo, era bastante relevante para os gamers de Windows – e até hoje é essencial para quem joga no Linux (e, consequentemente, no Android). Trata-se do OpenGL, software que passou por muitos altos e baixos na última década, e que em 2006 passou a ser controlado pelo consórcio sem fins lucrativos Khronos Group. Depois de alguns releases estáveis do OpenGL, eles finalmente conseguiram lançar o seu projeto mais ambicioso: a versão 1.0 da Vulkan, que saiu nesta semana. Mas o que é a Vulkan e o que ela pode mudar no mundo dos games de PC? Isso é o que nós vamos explicar neste artigo!

O que é a Vulkan?
A Vulkan foi criada para ser a sucessora do OpenGL e, assim como o DirectX 12, é uma API focada em instruções de baixo nível, com objetivo de reduzir o overhead da CPU – ou seja, aproveitar melhor todos os núcleos do processador, ao invés de jogar quase todo o trabalho em um dos núcleos. Ela utiliza como base a Mantle, que foi doada pela AMD na intenção de criar um software que possa se tornar um padrão por toda a indústria – ou seja: ele trabalha com os sistemas Windows, Linux e Android, por exemplo. "É um marco que mostra a liderança da AMD no desenvolvimento de Games. Há anos temos fornecido tecnologias que revolucionam o desempenho, como o Async Shaders, com ganhos tanto de desempenho como no número de objetos suportados", afirma Especialista em Hardware da AMD Brazil.

A ideia do Khronos Group é, ao mesmo tempo, transformar o OpenGL num padrão que seja revelante para os principais games para PC e Linux, e fornecer uma API que possa competir com o DirectX 12. Para isso, a Vulkan traz otimizações que ajudam os desenvolvedores a diminuir os gargalos causados pelo processador, ao se aproveitar melhor das capacidades de multi-threading deles. "Vulkan nasce com a ideia de dar suporte a todos os ambientes disponíveis, seja Windows, Linux, Android, MacOS ou IOS. Acredito que em breve teremos jogos com suporte ao Vulkan, a Steam tem trabalhado bastante na portabilidade de alguns títulos para essa nova API.", especula Heiss.

O que esse lançamento significa?
O lançamento completo da versão 1.0 da Vulkan significa que a API, de fato, atingiu o mesmo status que o DirectX 12. Isso porque já estão disponíveis coisas como as documentações oficiais, drivers, kits de desenvolvimento de software (SDKs), teste de conformidade e até suporte beta ao software. "A chegada da Vulkan é um grande passo para toda a indústria, por se tratar de uma API de baixo nível, aberta e, principalmente, multi-plataforma, os desenvolvedores poderão criar aplicações melhores e usá-las em uma ampla gama de dispositivos", afirma Alexandre Ziebert, do marketing técnico da Nvidia. 

Claro, é discutível e até polêmico dizer que a Vulkan, em seu lançamento, chega no mesmo estágio que o DirectX 12 está agora. Mas o que isso quer dizer é que, ao menos de maneira oficial, o que citamos no parágrafo acima é exatamente o que a API da Microsoft tem até agora. Afinal, apesar de já haver uma lista de jogos com suporte a DirectX 12, são todos títulos que estão em early access, estão esperando por um patch ou que utilizam uma engine de terceiros (tipo a Unreal Engine 4, que trata o suporte ao DX12 como uma prévia experimental).

Nesse sentido, a Vulkan também tem o seu próprio game para testes. Trata-se de The Talos Principle, game que ganhou um patch – também experimental – que traz suporte para a API do Khronos Group. Para testá-la, basta ter drivers compatíveis (veja a seção abaixo) e baixar o game, que está disponível na Steam. Tanto a versão completa quanto a demonstração suportam a API. É importante notar que é preciso rodar a versão 64-bit do game e estar no beta público. Para isso, é necessário ir nas propriedades do game na biblioteca da Steam.

Artigo: Rodamos a Vulkan no PC Baratinho e tivemos ganhos que chegam até 100%! Veja os benchmarks


Neste vídeo, jogamos o game em DirectX

Porém, como aponta a equipe da Croteam, desenvolvedora do jogo, essa é uma implementação muito, muito inicial, e por isso não deve chegar nem perto do desempenho obtido com o já bastante otimizado DirectX 11. E o que piora ainda mais a situação para a Vulkan é o fato de que The Talos Principle não é o tipo de jogo que é projetado para utilizar a CPU de maneira pesada, e também não se aproveita muito dos benefícios das otimizações de draw call, que são os grandes pontos da Vulkan.

CONFIGURAÇÃO PARA O TESTE:

1920x1080, Ultra

OBS.:

  • Resultados em FPS médio
  • Quanto maior, melhor

[ The Talos Principle | Bancada aberta ] Hardwares Comparados: 3

GTX 750Ti (DX11)
42.6

GTX 750Ti (DX11)
42.6

GTX 750Ti (Vulkan)
27.9

GTX 750Ti (Vulkan)
27.9

GTX 750Ti (OpenGL)
19.5

GTX 750Ti (OpenGL)
19.5




Primeiros benchmarks com a Vulkan e drivers beta no The Talos Principle

Mas vocês podem estar curiosos para saber por que The Talos Principle foi o primeiro game a incluir suporte para a Vulkan. Dean Sekulic, programador sênior da Croteam, responde:

"Nós acreditamos firmemente que a Vulkan é realmente a melhor API de baixo nível que pode existir. Rápida e portátil!. Claro, ela tem seus pontos fracos. Por exemplo, é bem difícil de programar para ela. Você tem que fazer um monte de coisas manualmente, ao invés de confiar que os drivers vão fazer o trabalho para você. Isso é, ao mesmo tempo, bom e ruim. É bom para o lado do desempenho, porque o driver não sabe o que o jogo quer renderizar. É ruim porque existe a necessidade de muito mais programação e, em geral, é uma abordagem mais complexa. É melhor que você saiba o que está fazendo, pois não vai ganhar nenhuma ajuda dos drivers. Você está por conta própria. É realmente muito bom ter esse controle. SE você souber o que está fazendo".

- Dean Sekulic, programador sênior da Croteam


Dean Sekulic, da Croteam, tem mexido bastante com a Vulkan nos últimos meses e acredita no futuro da API

Quem já lançou drivers?
A resposta para essa pergunta, no momento, é a mais simples (e já esperada) de todas: Nvidia e AMD. O driver especial da Nvidia está disponível neste link, e funciona nas placas de vídeo com arquitetura Kepler e Maxwell. Os driver são compatíveis com Windows 7, 8 e 10, além de Linux. Já os drivers da AMD podem ser baixados neste link, e são compatíveis com Windows 7, 8 e 10. Eles funcionam nas placas de vídeo GCN 1.0 ou mais novas. A Intel ainda não anunciou seus drivers, mas sabe-se que as GPUs integradas dos processadores Broadwell (geração 8.5) e mais recentes serão suportados. Por enquanto, não há confirmação sobre as gerações Ivy Bridge e Haswell.

E "só" isso então?
De jeito nenhum! Agora é que chegamos na parte que realmente importa. Enquanto nós, meros mortais, temos apenas uma versão bem inicial da Vulkan em The Talos Principle, os desenvolvedores ganharam muito mais brinquedinhos. E por brinquedinhos, queremos dizer kits de desenvolvimento e documentações. Isso inclui o SDK open source da LunarG para Windows e Linux, que ajuda os desenvolvedores a validar o seu código, inspecionar o que a API está fazendo e fazer debugs em geral. Um SDK para Android será providenciado pela Google em breve.

Conclusão
Ou seja, assim como aconteceu no lançamento oficial do DirectX 12, a chegada da Vulkan não traz nenhum grande impacto direto para os gamers. Apesar disso, ela é uma excelente novidade para os desenvolvedores e, especialmente, para quem utiliza o Linux para jogar. Ainda devemos ter que esperar alguns meses (ou talvez anos) para ver jogos totalmente otimizados para a API.

"Faz tempo que os desenvolvedores podem por um maior controle sobre a GPU, isso permitirá um melhor aproveitamento do hardware, isso será de suma importância no Android, por exemplo. E como Vulkan é multi-plataforma, o mesmo código poderá ser usado em outros sistemas, permitindo que os desenvolvedores possam disponibilizar seus jogos para uma audiência maior ao mesmo tempo que diminui custos de desenvolvimento." destaca Ziebert. 

Aí, poderemos saber se ela realmente tem o potencial de dominar o mercado de games e transformá-lo num espaço mais democrático e aberto, ou se a Microsoft fará as manobras certas para manter a dominância do DirectX 12 e do Windows no mundo dos grandes jogos de PC. O lado bom? Independente de quem ganhar, nós certamente teremos, no final das contas, games melhores otimizados para as nossas CPUs, com possibilidade de cenários muito mais complexos do que poderíamos imaginar antes.

Para mais informações sobre a Vulkan, confira nossa entrevista em vídeo com o especialista de hardware da AMD, Alfredo Heiss:

Com informações complementares de PC Per e Anand Tech.