Vulkan vs OpenGL ES: entenda porque não há motivos para ficar comparando as duas API

1 de agosto de 2016

comparativo-vulkan-vs-opengl

Os primeiros jogos para Android com suporte a Vulkan já começam a ser notados na Google Play. Essa nova API, que é uma evolução do OpenGL ES, promete mais acesso a GPU com foco em dispositivos top de linha. Com a Vulkan, é possível tirar proveito máximo dos recursos da GPU, sem comprometer a performance. Mas para isso, é preciso que o jogo seja otimizado para a nova API.

Leia também:

O site TudoCelular fez um comparativo (muito parecido com esse) com os principais games com suporte a Vulkan vs OPenGL 3.1, Confira abaixo.

Dos três jogos testados, é possível que a grande diferença acontece principalmente no game HIT (Link na Google Play). Enquanto no OpenGL ES acontece algumas “travadinhas”, no Vulkan, o jogo está rodando de forma muito mais fluída.

Já o canal DudeRandom84 fez um comparativo entre Vulkan e OpenGL no âmbito do PC (veja aqui), utilizando o jogo DOOM. Por que tal teste é interessante para nós? Ele mostra como a Vulkan permite que um jogo como DOOM rode mais fluído (mais frames por segundo), e o mais importante, com um baixo uso da GPU. É algo pouco perceptível em jogos de celular, mas como no caso do HIT, evita que um jogo pesado apresente aquelas “travadinhas”.

Então, o principal ganho da nova API pode não ser perceptível em um primeiro momento, pois trata-se de um menor consumo energético e menos uso da GPU. Resultado: seu celular não vai fritar tanto ao rodar um game pesado.

O OpenGL possui acesso aos mesmos recursos que a Vulkan, porém, os produtores dos jogos mobile decidem desligar esse ou aquele efeito, para não comprometer a performance do game, e também, evitar fechamentos e consumo excessivo da bateria.

Com a  Vulkan, é possível ligar mais efeitos, mas na grande maioria dos jogos, não haverá uma grande diferença visual. Pode ser que vejamos os primeiros games mais pesados apenas depois que a Google oficializar o suporte a nova API no Android 7.0 (Nougat).

Como podemos ver, o ganho no visual não é grande, já que ambas API tem acesso aos mesmos recursos, a diferença e o método de acesso. A Vulkan é mais direta, o que possibilita um ganho real de performance e menor consumo energético. No comparativo com o iOS, a Vulkan, seria o que a Apple fez com a tecnologia Metal (de 2014!!).

Por fim, como a Vulkan é uma evolução da API OpenGL, não vale muito a pena discutir sobre qual é a melhor. Mas com o popularização dos primeiros jogos que tiram proveito desta nova API, podemos esperar novas conversões de games do PC, e muito mais tempo de jogatina com games pesados.

Post Relacionados

Mestre na arte oculta dos joguinhos de bolso. Passou por várias gerações (Java, Symbian, N-Gage). É o criador e idealizador do Mobile Gamer.

  • Hugo Schneider

    Como sei se meu smart esta rodando um jogo em qual deles?

    Tenho Moto G Turbo.

  • SK Games

    Dario Coutinho, na sua descrição no blog diz que acompanha o mercado de games mobile desde 2001, e blá blá blá… mais enfim, como você pode fazer um post desses? Cara, em primeiro lugar, a grande promessa da API Vulkan não é melhores gráficos, e sim um ganho de desempenho em renderizações, possibilitando o menor consumo do Hardware para melhor experiência, segundo, como não vale a pena discutir sobre qual é a melhor? Vulkan é baseado na tecnologia da API Mantle da AMD, com diversas melhorias, OpenGL está bem ultrapassado e sempre teve um custo muito alto em desempenho, no vídeo é possível ver melhorias gráficas(olhem para o chão dos dois lados, Vulkan possibilitou o uso de “Àgua” nas pistas, sem contar na melhor iluminação e antiserrilhado), e na minha opinião eu percebi que o jogo na Vulkan estava mais fluído, sinceramente… post horrível, com a opinião de alguém que não sabe pesquisar antes de falar…

    • Lucas Trevisan

      Além de falar palavras como: “usar menos a GPU”. Nunca li tanta merda na minha vida. O vulkan surgiu para substituir o opengl definitivamente. Levando em consideração APIs como directx, mantle não tinha mais como o opengl continuar brigando com eles. Por esse motivo, dentre vários outros, começou o desenvolvimento dessa nova e fascinante API gráfica. Possibilitanto, dentre várias outras, o uso de otimização à nível de hardware MUITO MAIOR do que acontecia no opengl. Tanto que se você pegar pra programar utilizando opengl e utilizando vulkan, a diferença principal que você vai encontrar é que no opengl se utiliza gl_ na frente das funções e no vulkan utiliza-se vk_. Post totalmente sem embasamento no que está proposto. Estude mais meu amigo autor do post.

      • Dario Coutinho

        “Por fim, como a Vulkan é uma evolução da API OpenGL…” QUE TAL LER O TEXTO COMPLETO?

        A proposta do texto não foi querer esnobar o leitor com conhecimento técnicos (como você tentou fazer aqui). Mas demonstrar que não há motivo para se preocupar ou correr para trocar o celular.

        Ainda hoje (27 de outubro), é comum sair jogos com suporte até Open GL 2.0. 3.0 ainda é novidade e é muito raro ver jogos com restrição para 3.1. Que dirá 3.2 e Vulkan.

        Resumindo. “aqueta a periquitinha ae amigo”, que o site aqui não tem pretensão de entrar muito na teoria. Nosso foco é o uso prático e linguagem simples.

    • Dario Coutinho

      Você praticamente apenas repetiu o que o próprio post descreve, mas usando as suas palavras. Porém, cometeu O GRANDE ERRO de se ater apenas ao título. (LEIA A PORRA DO TEXTO).

      “Com a Vulkan, é possível ligar mais efeitos, mas na grande maioria dos jogos, não haverá uma grande diferença visual.”

      Se você pesquisasse mais pouco, saberia que a “água” que você fala em NFS No Limits pode ser ligada mesmo na API Open GL ES. A Vulkan, faz a mesma coisa, porém, com uma performance melhor.

      O que acontece, a EA decide desligar o efeito, mesmo sabendo que o celular consegue, para evitar um gasto maior de bateria.

      Jogo rodando em um emulador Bluestacks que suporta apenas Open GL ES 3.0

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