Recomendado, 2024

Escolha Do Editor

API Vulkan: Tudo o que você precisa saber

Se você gosta de manter um guia sobre as últimas tecnologias, você deve ter ouvido falar do Vulkan. A Vulkan API é a mais recente e melhor API de gráficos, anunciada pelo Khronos Group, que é a pessoa por trás do atual padrão OpenGL. O nome do projeto Vulkan foi oficialmente anunciado na Game Developers 'Conference em 2015, e a primeira versão da API foi lançada em fevereiro de 2016. A nova API tem como objetivo levar os gráficos do jogo ao próximo nível, portanto, se você estiver interessado no detalhes, estamos aqui para dar a você.

Discutimos o que é a API Vulkan, como ela é diferente de sua predecessora OpenGL e como a API Vulkan pode mudar a forma como os jogos e outros aplicativos intensivos em gráficos são desenvolvidos em um futuro próximo. Continue lendo para explorar esse desenvolvimento empolgante no mundo da renderização e dos gráficos.

O que é a API Vulkan?

Um par de anos atrás, a AMD exibiu o Mantle, usando APIs direcionadas a jogos 3D e, embora se mostrasse promissora em ser uma solução mais rápida para a renderização de gráficos, a AMD acabou com o projeto. Em seguida, a AMD forneceu os componentes da API Mantle ao Khronos Group para desenvolver uma API padrão para renderização. Bem, o resultado é a nova API do Vulcan.

A Vulkan API é uma API de renderização de baixa sobrecarga que pode utilizar melhor as CPUs de vários núcleos que estão onipresentes atualmente e também fornecerá programas com acesso mais direto à CPU e à GPU do sistema. Também é agnóstico do SO. Isso significa que os aplicativos que usam a API Vulkan serão facilmente portáveis.

Sendo ávidos jogadores e entusiastas de jogos, decidimos dar uma olhada no futuro de como os jogos serão desenvolvidos em breve e como (se for o caso) melhorar a nossa experiência de jogo.

Características

A Vulkan API tem muitos recursos que a tornam diferente e melhor do que seu antecessor OpenGL:

1. A API Vulkan tenta equilibrar as cargas de processamento igualmente entre todos os núcleos em um ambiente com vários núcleos. Isso significa que cada núcleo do processador é colocado em uso, maximizando a eficiência .

  • Isso fará uma diferença muito notável na renderização de gráficos que exigem muitas chamadas de desenho.
  • Com APIs legadas, com mais frequência, a CPU é um gargalo. No entanto, o Vulkan coloca o uso de CPUs multi-core, que é mais provável que um gargalo seja encontrado na GPU.

2. A API do Vulcan oferecerá acesso direto à GPU, o que evitará sobrecargas desnecessárias no acesso à GPU para chamar chamadas e outros recursos da GPU.

  • Isso significa que os jogos mais pesados ​​não serão tão intensivos quanto o uso atual da CPU. Além disso, os drivers terão um papel menor no fornecimento de acesso à GPU, tornando a transferência de informações muito mais rápida.

3. A API também é projetada para ser completamente multiplataforma .

  • Não há mais APIs de ramificação para celulares, desktops e consoles. A Vulkan API será a mesma em todo e qualquer dispositivo com uma GPU compatível.

4. Enquanto o OpenGL mantém o uso de memória e a sincronização da GPU escondidos, o Vulkan expõe isso e dá aos desenvolvedores um controle ainda melhor sobre a GPU e como ela é usada.

  • O Vulkan permite que os desenvolvedores controlem como a GPU formata texturas, gerencia a memória e executa a sincronização.
  • No entanto, ele ainda oculta informações suficientes para manter a compatibilidade entre plataformas .

5. O Vulkan usa a linguagem intermediária SPIR-V para computação paralela e gráficos. O SPIR-V, como seus predecessores, SPIR1.2 e SPIR2.0, foi desenvolvido pelo Grupo Khronos, com a diferença de que o SPIR-V não usa o LLVM. O SPIR-V permite que o Vulkan tenha um compilador front-end comum em todas as plataformas. Os desenvolvedores também não precisam enviar o kernel, o código do shader e a implementação do driver é simplificada.

Como Vulkan pode nos ajudar como usuários finais

A Vulkan API, quando implementada em todo o seu potencial pelos desenvolvedores, pode melhorar drasticamente a experiência de jogo do usuário final (isso é você e eu!). Pense nos gráficos de nível de console em dispositivos móveis, talvez até mesmo gráficos de nível de desktop para flagships de ponta com processadores competentes!

1. Como a maioria dos SoCs móveis atualmente também é multi-core, a Vulkan utilizará os processadores o máximo possível, tornando os jogos mais suaves (FPS mais altos).

2. Além disso, como o Vulkan fornece um baixo custo de acesso à GPU do dispositivo, isso significa que os jogos agora poderão reduzir o tempo necessário para obter acesso aos recursos da GPU em grande medida. Mais uma vez, isso se traduz em gráficos melhores em quadros mais altos por segundo, aproveitando ao máximo os recursos da GPU .

3. Embora os recursos de várias plataformas, tornando a portabilidade para jogos mais fácil, podem não afetar diretamente você como usuário final, isso significa que seus jogos favoritos e aplicativos intensivos em gráficos podem estar disponíveis em quase todas as plataformas . As possibilidades são infinitas e limitadas apenas pela nossa imaginação.

4. Os jogos também serão capazes de garantir um desempenho mais suave, garantindo que a GPU preste mais atenção (leia: aloca mais memória e dá preferência a) a coisas que são imediatamente visíveis ao usuário, tornando o jogo mais imune a atrasos e quedas de quadros .

Opções para desenvolvedores

Embora uma API de baixo nível e baixa sobrecarga para gráficos seja, sem dúvida, uma boa ideia, não é uma atração óbvia para todos os desenvolvedores, especialmente os novos. Programar em um nível mais baixo, mais próximo do hardware, requer um pouco mais de trabalho do que programar em um nível mais alto, que é mais abstrato. Isso não é de forma alguma um choque. É bastante óbvio e é exatamente por isso que os desenvolvedores terão três opções diferentes sobre como usar o Vulkan em seus projetos de desenvolvimento.

1. Use a API Vulkan diretamente

  • Isso fornecerá o acesso de nível mais baixo ao hardware e obviamente não será uma opção para todos. No entanto, esse nível pode ser usado para criar ferramentas de benchmarking para outros aplicativos desenvolvidos usando o Vulkan.

2. Use Bibliotecas

  • Possivelmente, a opção mais viável para desenvolvedores que estão fazendo a transição do OpenGL para o Vulkan.
  • A maioria das bibliotecas será de código aberto, portanto, os desenvolvedores com experiência em desenvolvimento usando OpenGL podem tentar portar seus aplicativos OpenGL para a API Vulkan com relativa facilidade, em vez de precisar fazer uma revisão completa ou começar do zero.

3. Use motores de jogo otimizados com Vulkan

  • Temos certeza de que é onde a maioria dos desenvolvedores estará entrando. Os mecanismos de jogos são projetados e desenvolvidos por pesos pesados ​​da indústria bem estabelecidos e experientes e podem ser usados ​​facilmente por desenvolvedores (experientes e iniciantes) para criar jogos que usem as vantagens oferecido pela API Vulkan.
  • Desenvolvedores como Epic Games (Unreal Engine) e Unity (Unity Engine) já anunciaram o suporte da Vulkan em seus próximos motores, e muitos outros anunciaram planos a seguir.

CONSULTE TAMBÉM: Entendendo o APFS: o novo sistema de arquivos da Apple

Ficar excitado!

No caso do artigo não te convencer… fique animado! Agora! O Vulkan promete ser o tipo de desenvolvimento inovador em APIs gráficas que melhorará nossas vidas em jogos. Já existem vídeos de comparações entre o desempenho do Vulkan e OpenGL, e os resultados são - simplesmente - surpreendentes. Se esses vídeos são uma indicação, prepare-se para experimentar uma incrível qualidade gráfica em todos os lugares, incluindo seus celulares, tudo graças à chegada da API Vulcan!

Então, o que você acha do Vulkan? Você acha que será uma grande melhoria em relação ao atual padrão OpenGL? Deixe-nos saber na seção de comentários abaixo.

Top