Sem pompa nem circunstância… o Vulkan foi lançado!

vulkan

Sim, o grande concorrente ao DirectX 12 e talvez o API mais esperado de sempre, o Vulkan acaba de ser lançado na sua versão 1.0

Sem grande pompa ou circunstância, ao contrário do que aconteceu em outros casos, a Khronos Group anunciou a imediata disponibilidade do Vulkan 1.0, o API aberto e sem royalties que irá equipar a quase totalidade dos sistemas informáticos desta geração criando uma homogeneidade como nunca existiu.

Espera-se que o API forneça uma eficiência ao nível do DirectX 12 (algo ainda a confirmar), sem limite de plataformas, com acesso à componente gráfica e de computação genérica dos GPUs que poderá ser usado em vários sistemas operativos e em hardware do mais variado, desde PCs, consolas, tablets e smartphones.

Este API desenhado a partir do zero para se adaptar às caracteristicas das placas atuais, irá complementar o OpenGL e o OpenGL ES 3D , permitindo o controlo directo do GPU para a máxima performance, bem como a redução da sobrecarga dos CPUs e uma eficiente distribuição de tarefas por todos os núcleos do mesmo.

Várias drivers para múltiplo hardware está já disponível, bem como diversos SDKs que permitem a criação de aplicações e motores com suporte ao Vulkan.

Gabe Newell, co-fundador e director da Valve, refere:

Estamos extremamente contente pela rápida execução do API Vulkan. Devido à sua disponibilidade em diferentes plataformas, alta performance e o facto de estar num eco sistema open source, esperamos a sua rápida adopção, de uma forma bem superior à adopção de outros APIs que estão limitados a certos sistemas operativos.

Uma clara piada ao DirectX 12!

O Vulkan é o resultado de 18 meses de trabalho de colaboração entre vários fabricantes de hardware, criadores de motores e detentores de plataformas, com significativas contribuições de todos. O Vulkan permitirá a portabilidade entre várias plataformas bem como entre os GPUs de secretária e os móveis.

Entre outros, o Vulkan estará disponível para Windows 7, 8, 8.1 e 10, e foi já adoptado como o API de defeito do Linux, Steam OS, Tizen e Android. Esta é no entanto a primeira versão disponibilizada, pelo que as performances e estabilidade deverão ainda estar longe de perfeitas. Seja como for não há nada no mercado que suporte ainda o API com excepção do jogo The Talos Prince, mas recorde-se que esse jogo saiu com suporte ao Vulkan ainda antes de ele estar pronto, tendo portanto uma implementação imperfeita e desactualizada.

A AMD já possui drivers Beta aqui. A Nvidia, aqui.

Publicidade

Posts Relacionados

Readers Comments (14)

  1. Estou curioso para ver os benchmarks… porque continuo a achar que o impacto que vai haver, não será tão significativo quanto isso, em termos de necessidades e requesitos PC vs Consolas.

    Só espero que apartir de agora, o Hardware AMD começe a provar o que vale.

    Há muitas máquinas baratas por aí equipadas com APUs AMD e que podem ter uma nova vida.

    • Atenção… Não há benchmarks!
      A única coisa que existe a suportar o Vulkan é o The Talos Prince, e ele não implementa bem o Vulkan, mas sim o OPEN GL com extensões para o Vulkan. Ou seja, o Vulkan funciona lá, mas como extensão do OPEN GL e não nativo.
      A primeira versão das especificações do Vulkan só foram divulgadas com a versão 1.0 que esta notícia refere ter sido lançada!
      Daí que se vires esse benchmarks, não lhes prestes muita atenção.

  2. Enquanto o Vulkan perder comparativos para o Directx 11, o Directx 12 é a única API que interessa.

    https://www.youtube.com/watch?v=rGY0PTh8rho

    • Sinceramente essa decepcionou-me. Porque no mínimo, vendo isso e sendo tu alguem que tomo como culto, iria investigar o que se passa. E a explicação está publica.
      O que foi lançado foi a primeira versão final que basicamente define especificações. Ainda não há software que as siga e nem vai haver tão cedo. Talos Principle usa um wrapper, basicamente acelera o open GL mas não usa nenhuma das funções avançadas do API.

      • Como disse, enquanto ele perder comparativos para algo tão velho como o Directx 11 não interessa e se ele ainda é uma versão prematura, precisa de melhor propaganda pois o que estão fazendo é queimar algo que nem começou ainda. O Directx 12 e o Mantle em versão beta já apresentavam resultados que justificavam o interesse em cima de código Directx 11 adaptado.
        Os primeiros Becnchs do Mantle por exemplo, que apenas otimizavam o CPU já mostravam que o API era interessante. Mesmo com software que não siga especificações, é decepcionante perder para Directx 11.

        • Se tens um carro e o redesenhas a nível de suspensão, aerodinâmica, motor e muito mais, julgas a qualidade desse novo carro apenas metendo as suspensões novas no carro antigo?

          Sinceramente…

          Dos programadores do Talos Principle:

          Engine design for Vulkan is basically consited of three major parts:\

          1)
          Port. Make it work as fast as possible just by wrapping current engine design around Vulkan. Avoid all pitfalls and bottlenecks. This is what we did by now and released as patch for Talos.

          2)
          Use Vulkan for multi-threaded rendering. Our engine is designed really well for multi-threaded rendering, but we have only our wrapper for it – calls to graphics API (like Vulkan) are not multi-threaded. Yet.
          That being said, this is the next step what we’ll do. And probably release that also as patch for Talos. I tried to do that with Direct3D 11 long time ago (support for its deffered contexts), but it was too much pain and too little or even no gain. 🙁 That’s just one of reasons why we decided to stick with our own approach for MT renderer for that long. :/

          3)
          Redesign engine for Vulkan. This is the biggest step and can be split in two:

          3a)
          Precache all rendering states (which mostly mean materials in game) up front. This will make rendering calls much simplier and faster. So, instead of deciding at rendering time what is needed for a material to be rendered via Vulkan, do this at loading time and then when material needs to be rendered just give it to Vulkan, via one or two simple function calls.

          3b)
          Precache all geometry, material, textures, everything that is needed for rendering an object up front. This basically creates so called command buffer ready for Vulkan, and nothing extra needs to be set or created at render time.

          3rd part of port is, obviously, the most complex one, and it’ll take time to change engine design for it, step-by-step.

          • Vamos assumir que nessa fase, o Vulkan é o OpenGL melhorado, ainda sim vergonhoso. A comunidade do software livre defende a um bom tempo que o OpenGL já era melhor que o DirectX 11. Se num primeiro momento, o OpenGL melhorado já arranca tomando um pau do Diretcx 11 que já diziam estar superado, não me parece interessante.
            Se eu tenho um carro antigo, que eu afirmou correr melhor que o meu concorrente também antigo, se eu coloco uma suspensão melhor, ele não pode tomar uma piaba do meu antigo concorrente.
            E foi isso que houve, o Vulkan tomou uma diferença entre 20 a 40fps pro velho e ultrapassado Diretcx 11.
            E isso quer dizer que tem muita coisa o que melhorar ainda nessa API que não funcionará em máquinas que rodem versões anteriores ao Windows 7 ao passo em que o DirectX 12 está aí na porta e a Microsoft oferece o windows 10 gratuitamente a todos que possuem Windows 7 também.

          • Não estás a compreender. Não há fase nenhuma! O que está a correr em The Talos Príncipe não é o Vulkan, é o Open GL. O que se passa é que eles lhe instalaram um wrapper que permite que o código Open GL, em vez de fazer as chamadas ao API Open GL as faça ao API Vulkan.
            Resumidamente, numa figura de estilo, quase podemos dizer que o que tens são as rotinas não optimizadas para baixo nível do Open GL a correrem em modo de compatibilidade.
            Ou seja o problema não está nem no API nem no jogo, está em quem está a fazer os benchmarks que nem sequer os devia fazer pois não há neste momento nada que suporte o Vulkan e os jogos programados em Open GL que possam ser acelerados desta forma não são Vulkan, mas sim Open GL acelerado pelo Vulkan.
            Comparando com algo que conheces melhor:
            Esquece o Open GL que não tem nada a ver com o exemplo que se segue.
            Imagina que tens um jogo em DirectX 11.
            Sai um novo API de baixo nível e de elevadas performances. Vamos chama-lo de GNM (sim, o API da PS4).
            Eles apesar de radicalmente diferentes podem ser compatibilizados. E a Sony cria um Wrapper que aplica ao DirectX 11 criando umas performances hibridas, mas sempre limitadas pela base que é o DirectX 11, e a que dá o nome de GNMX.
            Os jogos que correm usando este wrapper nunca na vida terão as performances nativas do GNM, e tu sabes disso. E isso porque o que está a ser executado, mesmo que convertido e acelerado por características do GNM não deixa de ser na base o DirectX 11.
            Aqui é o mesmo. Independentemente das performances do Vulkan, o que está ali a correr é código Open GL acelerado e que como tal tem limitações de base. Dado que o Open GL já de si perdia muito para o DirectX 11 (era um API antigo e com sérios problemas de base que levou a que se construísse um substituto criado de raiz), mesmo que acelerado nunca terá grandes performances (se tal fosse possível não se precisava de um API novo criado de raiz).

            PS: o Vulkan suporta a quase totalidade dos sistemas operativos o que inclui o Vista e o XP
            http://on-demand.gputechconf.com/siggraph/2015/presentation/SIG1501-Piers-Daniell.pdf

          • Se foi assim, deveria pelo menos se aproximar do DirectX 11. Alguma coisa foi mal feita aí nesse método. O desempenho foi a mesma coisa do OpenGL. Então concluo que esse teste não serviu de nada além de queimar um pouco um produto.
            Aí você me diz: mas você não foi lá pesquisar o que aconteceu de verdade!

            Não fui, e o consumidor médio, o público comum,também não vai. Ele vai ler esses tipos de notícias e pensar, preciso atualizar para o Windows 10 e usar o DirectX 12.

            Mesmo que o Vulkan apóie o XP e o Vista, não acredito que alguém hoje em dia utilize esses dois sistemas para jogos, até por que eles são da época que eram muito comuns os SO de 32 bits que não utilizam mais de 3,5GB de memoria RAM. Ninguém roda um jogo de nova geração num Vista 32 bits, imagina num XP.

          • Porque?
            Os ganhos deste tipo de situação são sempre uma percentagem sobre as performances de base, nada mais. Se a base está limitada, isto não faz milagres!
            Quanto ao consumidor o produto não fica queimado. Ficaria se tivesse de pagar por ele, mas como é gratuito e presente em todos os OS principais, mal venham os primeiros Benchmarks que agradem o consumidor irá mudar a opção nos menus que o activa.
            Naturalmente isto esperando que os benchmarks sejam ao nível do DirectX 12, o que é apenas lógico que aconteça, mas o facto é que ainda não vi nenhum.
            E ninguém vai fazer um upgrade para o Windows 10 por causa dos jogos (os que o fariam já fizeram todos). Quem não muda para o Windows 10 não o faz porque acha que está bem como está e prefere manter-se assim. Normalmente joga jogos casuais e usa o seu PC de forma mais limitada pois o hardware é antigo.
            Mas independentemente de tal, dado que as placas AMD desde à alguns anos que estavam preparadas para este tipo de APIs ganharão. E essas pessoas tem tanto direito a ter ganhos com jogos menores como quem joga AAA.
            Diria ainda que o público comum pouco me interessa. O que me interessa é que os meus leitores já que me visitam tenham a consciência das coisas e que decidam de forma informada. É para os que me lêem que ainda escrevo. Não é para os outros.
            Não sei, nem nunca saberei tudo, e também me engano. Mas dentro do possível tento passar a informação o melhor que sei.
            E já que referes isso o tópico para o meu próximo artigo exclusivo será este. Assim talvez se alcancem mais pessoas.
            Agora num aparte, estou decepcionado com as optimizações do DirectX 12 para PC. As especificações mínimas AMD para Quantum Break são muito menores do que acontecia antes com o DX11, mas mesmo assim superiores às da consola.
            Isso também estará num artigo brevemente.

          • Fernando… o consumidor comum não faz a mais pequena ideia do que é o DX12/Vulkan. Acredito que isso lhes passou completamente ao lado.

  3. Vulkan é o sucessor do mantle ( foi feito apartir dele ) , e devemos lembrar que mantle foi o causar da revolução das API de baixo nivel
    E só não se ornou padrão da industria porque o Mantle era feito pela AMD, o que acaba com a neutralidade normal que tem que ter uma API
    Mantle foi um sucesso, e é a prova de um conceito que agora é implementado com o Vulkan
    Sobre o Vulkan ser baseado no Mantle aqui esta o texto provando :
    https://www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification

    O próprio nome Vulkan é diretamente vinculado ao nome Mantle

Os comentarios estao fechados.