Se você adora ficar por dentro das tecnologias mais recentes, deve ter ouvido falar do Vulkan. A API Vulkan é a mais recente e a maior das APIs gráficas, anunciada pelo Khronos Group, que são as pessoas por trás do atual padrão da indústria OpenGL. O nome do projeto Vulkan foi anunciado oficialmente na Game Developers 'Conference em 2015, e a primeira versão da API foi lançada em fevereiro de 2016. A nova API visa levar os gráficos do jogo para o próximo nível, então se você estiver interessado no detalhes, estamos aqui para dar a você.
Discutimos o que é a API Vulkan, como ela é diferente de seu predecessor OpenGL e como a API Vulkan pode mudar a maneira como os jogos e outros aplicativos gráficos são desenvolvidos em um futuro próximo. Continue lendo para explorar sobre este desenvolvimento empolgante no mundo da renderização e dos gráficos.
O que é a API Vulkan?
Alguns anos atrás, a AMD mostrou o Mantle, criando uma API voltada para jogos 3D e, embora se mostrasse uma solução mais ágil para renderizar gráficos, a AMD encerrou 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 Vulcan.
A API Vulkan é uma API de renderização de baixa sobrecarga que pode utilizar melhor as CPUs multi-core que sã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 jogadores ávidos e entusiastas de jogos, decidimos dar uma olhada no futuro de como os jogos serão desenvolvidos em breve e como (se houver) isso irá melhorar nossa experiência de jogo.
Características
A API Vulkan tem muitos recursos que a tornam diferente e melhor do que seu predecessor OpenGL:
1. A API Vulkan tenta equilibrar as cargas de processamento igualmente entre todos os núcleos em um ambiente de vários núcleos. Isso significa que todos os núcleos do processador são colocados em uso, portanto maximizando a eficiência.
- Isso fará uma diferença muito perceptível na renderização de gráficos que requerem muitas chamadas de desenho.
- Com APIs legadas, na maioria das vezes, a CPU é um gargalo. No entanto, a Vulkan faz um uso tão bom das CPUs multi-core, que é mais provável que seja encontrado um gargalo na GPU..
2. A API Vulcan oferecerá acesso direto à GPU, o que evitará sobrecargas desnecessárias no acesso à GPU para chamadas de empate e outros recursos da GPU.
- Isso significa que os jogos mais pesados não consumirão tanto a CPU como atualmente. 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 foi projetada para ser plataforma completamente cruzada.
- Não há mais APIs de ramificação para celulares, desktops e consoles. A API Vulkan será a mesma em todo e qualquer dispositivo com uma GPU compatível.
4. Enquanto OpenGL manteve o uso de memória GPU e sincronização ocultos, Vulkan expõe isso e oferece aos desenvolvedores ainda melhores controle sobre a GPU e como é usado.
- Vulkan permite que os desenvolvedores controlem como a GPU formata texturas, gerencia a memória e realiza a sincronização.
- No entanto, ainda esconde informações suficientes para manter compatibilidade multiplataforma.
5. Vulkan usa o 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 LLVM. O SPIR-V permite que o Vulkan tenha um compilador front-end comum em cada plataforma. Os desenvolvedores também não precisam enviar kernel, código de shader e a implementação do driver é simplificada.
Como Vulkan pode nos ajudar como usuários finais
A API Vulkan, quando implementada em todo o seu potencial pelos desenvolvedores, pode melhorar drasticamente a experiência de jogo do usuário final (você e eu!). Pensar gráficos de nível de console em dispositivos móveis, talvez até gráficos de nível de desktop para carros-chefe de ponta com processadores competentes!
1. Uma vez que a maioria dos SoCs móveis hoje em dia também são multi-core, a Vulkan irá utilizar os processadores ao máximo possível, tornando os jogos mais suaves (FPS mais alto).
2. Além disso, como o Vulkan fornece um acesso de baixa sobrecarga à GPU do dispositivo, isso significa que os jogos agora serão capazes de reduzir em grande medida o tempo necessário para obter acesso aos recursos da GPU. Mais uma vez, isso se traduz em melhores gráficos em quadros por segundo mais altos por fazendo uso máximo dos recursos da GPU.
3. Embora os recursos de plataforma cruzada, tornando a portabilidade para jogos mais fácil possa não afetar diretamente você como um usuário final, isso significa que seu jogos e aplicativos gráficos intensos podem estar disponíveis em quase todas as plataformas lá fora. As possibilidades são infinitas e limitadas apenas pela nossa imaginação.
4. Os jogos também serão capazes de garantir desempenho mais suave garantindo que a GPU preste mais atenção (leia-se: aloca mais memória e dá preferência a) para coisas que são imediatamente visíveis para o 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 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 inferior, mais próximo do nível de hardware, requer um pouco mais de destreza do que programar em um nível superior, 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 para 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 escolha para todos. No entanto, este nível pode ser usado para criar ferramentas de benchmarking para outros aplicativos desenvolvidos usando Vulkan.
2. Use Bibliotecas
- Possivelmente a opção mais viável para desenvolvedores que estão fazendo a transição de OpenGL para Vulkan.
- A maioria das bibliotecas será de código aberto, então 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 ter que fazer uma revisão completa ou começar do zero.
3. Use motores de jogo otimizados com Vulkan
- Temos certeza de que é aqui que a maioria dos desenvolvedores entrará. Os motores de jogo 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 aproveitem 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 engines, e muitos outros anunciaram planos para seguir.
VEJA TAMBÉM: Compreendendo o APFS: o novo sistema de arquivos da Apple
Ficar excitado!
Caso o artigo não o tenha convencido… anime-se! Agora! Vulkan promete ser o tipo de desenvolvimento inovador em APIs gráficas que irá melhorar nossas vidas em jogos. Já existem vídeos de comparações entre o desempenho do Vulkan e do OpenGL, e os resultados são - simplesmente - incríveis. Se esses vídeos são alguma 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 sobre Vulkan? Você acha que será uma grande melhoria em relação ao padrão OpenGL atual? Deixe-nos saber na seção de comentários abaixo.