Abandone o DirectX: é hora de começar a usar o Vulkan com jogos para PC

Desde que foi lançado em 2016, o Vulkan foi posicionado como um assassino do DirectX . Tem sido um começo lento, mas a interface de software aberta ganhou muito impulso nos últimos seis anos, aparecendo em jogos tão diversos quanto Red Dead Redemption 2 e Hollow Knight. Com o recente lançamento do Vulkan 1.3 , porém, chegamos a um ponto de ruptura.

A versão mais recente unifica a base de recursos fragmentada do Vulkan. A interface do software é capaz de fazer coisas como ray tracing em smartphones há anos, mas o novo padrão especifica uma lista de recursos principais que devem tornar o desenvolvimento de jogos com o Vulkan mais fácil e rápido.

Com promessas de melhor suporte em configurações de hardware exclusivas e melhorias claras de desempenho, pode finalmente ser a hora de os jogadores de PC abandonarem o DirectX em favor do Vulkan.

O que é Vulkan?

Vulkan em O Princípio Talos.
O Princípio Talos foi um dos primeiros jogos a receber suporte da Vulkan.

Vulkan é uma interface de programação de aplicativos (API) multiplataforma do The Khronos Group. Em termos legíveis, é um kit que funciona nos três principais sistemas operacionais – Linux, MacOS e Windows – que permite que os jogos se comuniquem com o sistema operacional. É um intermediário que carrega instruções.

Os jogadores de PC provavelmente estão mais familiarizados com o DirectX, a própria API da Microsoft que funciona exclusivamente com o Windows. Existem dezenas de diferenças técnicas entre o DirectX e o Vulkan, mas é isso que você precisa saber: o DirectX vem da Microsoft e funciona apenas no Windows, enquanto o Vulkan vem de um grupo composto por executivos do setor e funciona em sistemas operacionais.

E é de código aberto. Ao contrário do DirectX, os desenvolvedores são livres para modificar e expandir o Vulkan para atender às suas necessidades. Na verdade, a recente atualização do Vulkan 1.3 foi principalmente um exercício de adição de funcionalidade ao núcleo do Vulkan, contribuído pelo The Khronos Group e pelos desenvolvedores.

Esta atualização recente é um ponto de inflexão para a API, adicionando recursos muito solicitados à especificação principal. Para os jogadores, o presidente do Khronos Group, Neil Trevett, diz que os benefícios são claros: “O resultado para os consumidores é que os jogos poderão ser lançados usando funcionalidades mais avançadas, mais cedo”.

Vulkan é mais rápido que DirectX

Um cowboy andando a cavalo em Red Dead Redemption 2.

A batalha de David e Golias entre a corporação de código fechado multibilionária e o consórcio de código aberto sem fins lucrativos é um conto para as eras, mas há razões mais tangíveis para apoiar o Vulkan em jogos para PC. Em confrontos um a um, o Vulkan simplesmente supera o DirectX.

Testei quatro jogos que suportam Vulkan e DirectX para medir as diferenças de desempenho. Observe que muitos jogos usam um ou outro, e alguns jogos usam ambos para coisas diferentes. Por exemplo, o Crysis Remastered usa o DirectX como o principal mecanismo de renderização, mas usa o Vulkan para rastreamento de raios.

Vulkan vs. DirectX 12 em 4K. Vulkan vs. DirectX 12 em 1080p.

Começando com o DirectX 12 mais recente , Vulkan conseguiu superá-lo em Red Dead Redemption 2 e Strange Brigade, ambos em 1080p e 4K. Também não são pequenas diferenças. Em Strange Brigade em 1080p, simplesmente mudar para Vulkan trouxe um aumento de 9% na minha taxa de quadros média.

Lembre-se de que a API foi a única coisa que mudou entre as execuções, e Strange Brigade e Red Dead Redemption 2 têm benchmarks no jogo. Também não há custo para habilitar o Vulkan – é o desempenho gratuito que você está deixando de lado se usar o DirectX.

Volte para o DirectX 11 e as diferenças são ainda mais claras. Rainbow Six Siege e World War Z têm Vulkan e DirectX 11 disponíveis, e Vulkan ainda é mais rápido em 4K e 1080p.

Vulkan vs. DirectX 11 em 4K. Vulkan vs. DirectX 11 em 1080p.

Fez uma grande diferença em 1080p em World War Z, aumentando minha taxa de quadros média em quase 21%. O Vulkan lida com cargas de trabalho de CPU de vários núcleos muito melhor do que as versões mais antigas do DirectX — o DirectX 12 é melhor nesse aspecto — e isso pode fazer muita diferença quando executado em resoluções mais baixas.

Esses quatro jogos dificilmente são uma representação completa dos jogos que as pessoas jogam. Mas eles são suficientes para fazer as rodas girarem sobre o que poderia estar na enorme faixa de títulos que suportam apenas DirectX. A boa notícia para os jogadores de PC é que o Vulkan está ganhando força e não tem nada a ver com desempenho.

Suporte multiplataforma, Steam Deck e jogos na nuvem

Dois jogadores usando Steam Decks para jogar Stardew Valley.

O desempenho é rei, mas o Vulkan é realmente importante porque possui suporte multiplataforma. DirectX só funciona com Windows. Como desenvolvedor criando um jogo com DirectX, você deve levar em conta a portabilidade do jogo para outras plataformas. E outras plataformas estão se tornando muito mais importantes.

O Steam Deck é um sinal dos tempos. A Valve recomenda que os desenvolvedores usem o Vulkan como a API principal para o Steam Deck porque o Steam Deck usa Linux. Quando apontei isso para Trevett, ele concordou, mas apontou várias tendências maiores do setor que estão impulsionando a adoção do Vulkan.

“Existem muitas tendências do setor que estão impulsionando um suporte mais amplo da Vulkan. Ser a principal API em dispositivos inovadores como o Steam Deck da Valve é certamente uma delas. Habilitar serviços de streaming de jogos para hospedar jogos no Linux na nuvem é outra. O uso de Vulkan sobre Metal em camadas no iOS e no MacOS agora oferece ótimo desempenho. E, claro, Vulkan sendo a API de escolha para títulos de nova geração no Android (a maior plataforma no maior segmento de mercado de jogos) também não prejudica”, disse Trevett.

Trevett também apontou que o Vulkan é a única API moderna que é multiplataforma e de código aberto. Existem outros sistemas operacionais e dispositivos móveis, mas o Vulkan tem aplicativos em outros lugares. Funciona no Google Stadia, por exemplo, e ainda suporta consoles com o Nintendo Switch.

Um Switch OLED no modo portátil jogando Metroid Dread.

Vulkan é provavelmente uma grande razão pela qual temos portas Doom e Doom Eternal no Switch, e é por isso que Hades foi para o PC e Switch antes de mudar para outros consoles. Com mais jogos chegando em mais dispositivos do que nunca, o benefício do Vulkan é claro: ele permite que os desenvolvedores criem jogos para mais plataformas e, geralmente, com uma melhoria de desempenho em relação às APIs de código fechado.

Anos de fabricação

Soldados atirando em alienígenas em Rainbow Six Extraction.
Rainbow Six Extraction é um dos jogos mais recentes com suporte a Vulkan.

Vulkan foi lançado em 2016, estreando como a única API no Doom. Foi elogiado na época, mas o impulso que Vulkan ganhou desde então é uma história por si só. Vulkan é o motivo pelo qual temos portas Linux para Shadow of the Tomb Raider e Hollow Knight, e é um jogador importante em jogos para celular chegando ao PC e vice-versa.

Você não precisa ir além do Red Dead Redemption 2 para ver como o Vulkan está se saindo. Um enorme jogo AAA de um dos desenvolvedores de jogos mais ricos do mundo escolheu o Vulkan com sua API de PC padrão em vez do DirectX.

Ainda assim, estamos muito longe de Vulkan ser a API padrão em todos os jogos. A Microsoft, com ou sem razão, tem o monopólio dos jogos para PC, e o DirectX ainda se encaixa nos fluxos de trabalho de inúmeros desenvolvedores. Felizmente, com as mudanças que o Vulkan 1.3 traz e o impulso com dispositivos como o Steam Deck, veremos um suporte mais amplo no futuro.