Doom beneficia bastante do Vulkan. Ganhos até 60%!

doom_demon

A id Software lançou um patch para o DOOM que adiciona suporte Vulkan. E os ganhos são de 60%!

Doom já corria excepcionalmente bem no PC. Vimos aliás o jogo a ser escolhido para apresentação de placas como a GTX 1080, devido à elevada performance que o jogo consegue obter. E isto com Open GL 4.5!

A id Software testou o jogo num PC equipado com uma GTX 980 Ti, e apesar de o jogo correr a mais de 100 fps, uma análise à placa revelava que ela não estava a ser usada no total das suas capacidades. E isto apesar de não haver limitações de memória ou de CPU a serem aplicadas. Tratavam-se de limitações do próprio API!

DOOMx64_2016_05_15_18_24_02_679

Daí que perante a aplicação do Vulkan, haveria interesse em ver o que sucedia com as performances.

E os ganhos foram incríveis… onde antes o jogo corria a 100 fps, atingia agora os 160 fps. Um ganho de 60%!

dv-3

Mas as vantagens não se ficaram por aí. A distribuição do trabalho pelos vários núcleos do CPU já era relativamente bem feita com o Open GL 4.5, mas com o Vulkan a dependência de um único núcleo desceu tremendamente, com a distribuição a ser muito mais conseguida.

Naturalmente estes ganhos de 60%, por muito impressionantes que sejam, não são constantes, mas sim pontuais.

Na realidade o ganho médio é bem menor e, claro, a grande vantagem, como é habitual com APIs de baixo nível, está do lado da AMD.

Testes conduzidos pela Digital Foundry revelaram os seguintes valores:

Mádia de FPS GTX 1080 GTX 1070 GTX 980 Ti R9 Fury X
Open GL 134.0 107.7 109.3 88.7
Vulkan 149.0 115.0 115.0 123.7
Ganho de performance +11.2% +6.8% +5.2% +39.5%

Como podemos ver, a AMD era o patinho feio na performance. Com o Open GL, um API de baixo nível, a placa apresentava a pior performance das testadas.

Mas com o Vulkan, as coisas mudaram de figura, e a Fury X testada, saltou para o segundo lugar da tabela.

Mas a R9 Fury X é uma placa cara… daí que surge a questão: e como se comporta a nova RX 480?

Eis os testes:

Média de FPS RX 480 GTX 970 GTX 980
Open GL 69.7 75.7 86.6
Vulkan 89.7 77.3 90.7
Ganho de performance +28.7% +3.4% +4.7%

Basicamente o que viamos não era muito diferente do caso de cima, com a placa da AMD a ser o patinho feio.

Mas com o Vulkan, uma única RX 480 que nas nossas pesquisas encontramos a 269 euros basicamente iguala a GTX 980 cujo preço mais baixo que encontramos foi 474 euros. Um ganho de 28.7% que muito dignifica a AMD.

Recorde-se que estamos a falar de ganhos meramente por software, que mostram a realidade das coisas. As AMD apenas estavam atrás das Nvidia devido às suas optimizações nas drivers e no código (muitas vezes pago). Com APIs de baixo nível que acedem directamente ao Hardware, as suas performances disparam e os ganhos são bastante superiores aos da Nvidia.

Note-se porém que aqui não há uso de computação assincrona, pois se tal fosse o caso, o que seria expectável ver-se seria um aumento maior das performances das AMD, e uma ligeira quebra nas performances das Nvidia.

Publicidade

Posts Relacionados

Readers Comments (21)

  1. Mário desculpe voltar esse assunto incansavelmente debatido, mas com as novas consoles a porta, o que penças sobre a computação assíncrona?
    Pois como a nuvem na Xbox One agora perde-se muito do apelo que se tinha como um aumento nas performances da CPU das consoles (realmente muito baixas comparadas ao GPU), agora que se estava tudo encaminhado já não vale apena esse caminho? Não ficará o GPGPU esquecido?

    • Não.. o GPGPU pode é não assumir um papel tão relevante, mas esquecido nunca. Até porque PS4 e One precisam dele!
      A questão é esta. Na One tens 12 CUs e na PS4 tens 18. Para ganhares performance basta usar 2 em cada consola. E isso quer dizer que sobram 10 na One e 16 na PS4. E é aí que vejo que se possa perder algo, pois o ideal era os jogos usarem todos os CUs da One e todos da PS4, explorando assim as consolas ao máximo. Mas se calhar aí isso pode-se perder. Até hoje, com excepção do Dreams da PS4 (que nem usa o pipeline clássico) nenhum jogo usou todos os CUs das consolas! The Tomorrow Children poderá ser o jogo que vai mais longe ao implementar grafismo com qualidade ray tracing em tempo real.

      • Desculpe mas, não usa todos os CUs? Não sabia disso. Porquê?

        • Primeiro porque há uma questão térmica. Todos os CUs implicaria o uso quase a 100% do GPU, segundo porque ainda não foi necessário uma vez que apesar de os CUs poderem ser usados genéricamente os seus usos são algo limitados (fisica, audio e grafismo) e por vezes conciliar o seu processamento com o clássico é algo dificil.
          Por exemplo, o Forward Rendering +, a técnica usada nos jogos Forza, usa um único CU.
          Em jogos já lançados creio que o máximo que li serem usados foi 4. Mas pode-se usar mais.

      • Mário, por favor explica melhor. Quando referes que nem todos os CUs foram usados (para GPGPU), estás a considerar o cenário ideal em que temos todo o GPU a alternar entre processamento genérico/processamento gráfico? Isso sequer é possível? (não terá que haver sempre uma determinada parte do GPU que se mantenha com o processamento gráfico constante?) Isso em vez de acelerar não irá atrasar a construção da imagem?

        Sobre Dreams, já tinhas referido essa questão de não utilizar a pipeline tradicional, e sobre como isso significava o modelar de objetos de outra forma. Mas já se sabe qual processo é mais dispendioso em recursos? E já agora, porque é que se iria utilizar a capacidade de computação genérica de um GPU para modelar objetos quando ele é desenhado para fazer isso pela via tradicional?

        Seja como for, e perante isto, cada vez fico mais inconformado com a chegada da Scorpio/Neo.

        • O GPGPU é algo que funciona nos tempos livres do pipeline. Basicamente o GPGPU usa esses tempos em que o pipeline espera por cálculos gráficos de outros componentes gráficos para continuar a processar, mas desta vez cálculos que não dependem desses componentes (genéricos).
          Isso quer dizer que quando o Pipeline está a processar grafismo mais computação, ele está a trabalhar basicamente a 100% do tempo. É a ocupação total!
          Um CU são 64 pipelines… no total temos na PS4 18 CUs e na One 12. E quando temos computação assincrona, pelo menos até agora, nunca se colocou toda a gráfica a 100%, mas apenas parte dela. Acho que 4 CUs foi o máximo que li a ser usado até agora, mas claro, esta não é informação que circule abundantemente, pelo que posso estar em falta.

          A vantagem da computação assincrona em vez da gráfica para o Dream é o eliminar o pensamento em polígonos. As placas gráficas trabalham com polígonos, e operações de soma e subtração na montagem de formas obrigariam a calculos complexos para que os encaixes fossem perfeitos. Acrescenta geometria sobre geometria e poderias ficar ali com situações bem complicadas.
          Ao eliminares isso podes trabalhar directamente com nurbs. E a vantagem é que estas são uma formula matemática que conforme os parametros se adultera.
          Em tempos fiz um pequeno artigo sobre isso. Deixa ver se encontro!

          Ora cá está:
          http://www.pcmanias.com/dreams-para-a-ps4-e-100-gpu-compute/

          • Pergunta: se o GPU deixar de ficar ocupado com a montagem de polígonos e imaginemos o GPGPU tratar disso, para que serve a pipeline tradicional? Ray tracing? Texturas?

            E a deformação dos terrenos (como por exemplo as marcas deixadas pelo jipe em U4), ficam a cargo do quê?

          • Se percebo a pergunta, queres saber se o GPGPU estiver a calcular tudo, o que faz o pipeline clássico?
            Nada! Ele só calcula gráficos! Se fizeres tudo pelo GPGPU pura e simplesmente não a usas.
            Mas esse método não é o normal. O normal é usares os dois para grafismo, pois aí é que tens grandes melhorias.
            Neste caso fez-se assim apenas pela versatilidade dos cálculos.

            A deformação de terrenos é física aplicada a superfícies. Normalmente calculada pelo CPU e passada ao GPU. Pode também ser feita pelo GPU.
            Alternativamente pode ser uma simples deformação pré definida ou uma textura.

          • Ok, eu em cima não me exprimi bem, estou a referir-me às componentes puramente gráficas do GPU.

            E quando me refiro às deformações dos terrenos, quero na realidade saber se a alteração da forma pode ser mais facilitada com o novo método de modelação.

          • Ah, Ok. Na realidade o método clássico é mais do que suficiente. A questão é que no Dreams tens a liberdade para modelar o teu mundo. E podes criar formas complexas criadas à base de conjugações de formas básicas. Com polígonos as operações boleanas seriam muitas, e isso tornaria o processo lento. Não era impossível, mas algo limitado para as performances da consola e que poderia depender muito mais do CPU.
            Este método alternativo deu mais liberdade à equipa.

  2. Valerio Fernandes 14 de Julho de 2016 @ 12:26

    Grande artigo Mario!
    Fiquei deveras impressionado com o vulkan, então nas amd´s aquilo é o caminho a seguir…
    Abaixo o DX12 e que comecem a fazer jogos em vulkan!
    DX12 a mim já me mete nojo! Tanta promessa para nadaaaa… para ficarmos parados no mesmo sitio!

    • O DX12 ja mostra resultados no Quantum Break e nos Benchs do Ashes da Stardocks, porém, eles não beneficiam nem um pouco as Nvidia e já percebi que você é um grande fan deles. Quando a comparação assíncrona for utilizada no Vulkan, a tendência é as AMD meterem uma vantagem ainda maior em cima da Nvidia.
      Traduz e le esse artigo aqui:

      http://gamegpu.com/action-/-fps-/-tps/doom-api-vulkan-test-gpu

      As unicas Nvidia que estão fazendo bonito são as dotadas de muita força bruta como a 980, a 1070 e a 1080, ambas com poder acima de 6 tflops. Todas as outras, foram superadas pela rx 480 e ainda não estão utilizando computação assincrona.

      • Valerio Fernandes 14 de Julho de 2016 @ 17:19

        @ Fernando

        Foi para ti que me dirigi? Então calou!
        “DX12 mostra resultados no Quantum Broke” LOOOL
        DX12 ao pé do vulkan é um menino em questões de optimização!

        • P/ quê essa brutalidade??

          • Valerio Fernandes 14 de Julho de 2016 @ 18:25

            @ Livio

            Porque não papo grupos do Fernando!
            Sou assiduo desta pagina há mais de um ano, e ja vi o que tinha de ver do Fernando! Ele puxa para o lado da Microsoft! Eu falo que o vulkan é superior ao Dx 12 em ganhos de performance vem ele acusar-me de ser fan de Nvidia, quando a mim ja me passaram mais gráficas pelas mãos que ele! Já tive AMD´s… Ainda 2 anos atrás tive uma, quando a AMD me dar um placa topo com ganhos de performance que a Nvidia nem chegue perto vou de AMD sem problemas! Até lá vou de Nvidia! A proxima vai ser a 1080Ti ou Titan P!

      • @Valério Fernandes.
        Acredito eu que o Fernando em hipótese alguma te chamou de fanboy,somente relatou que voce é um fã da empresa mencionada(que mal tem nisso)o dinheiro é seu,o PC também, net também.Então para que ficar tão irritado assim.Acho eu que tanto o Vulkan e o DX12 tem vantagens e desvantagens sem contar que ainda falta mmuito a ser aproveitado dos dois APIS lançados.Então amigo calma.Vou te contar o meu caso do Xbox,em março ocorreu uma tempestade em minha cidade e meu Xbox queimou a saida HDMI,ficava 500 reais para concertar.Sabe o que a Mic fez pegou meu console depositei os 500 reais na conta que o atendente me informou e após 20 dias recebi um console novo,eu disse novo.Que empresa de games faz isto hoje.Mas não puxo o saco de ninguem,gosto da Sony,adorei o Xbox e curto muito meu Wiiu,mas comecei a refletir o modo como fui tratado pela Mic e vejo que ela quer me ver divertindo e muito com seus jogos.E isso pra mim é muito bom,faça o mesmo amigo,perde tempo não com assuntos irrelevantes.Abraços

        • Sinceramente não sei se isso que contas é algo bom ou mau!
          Trocar o HDMI fiz eu isso à minha antiga quando ela caiu e ficou pendurada por ele partindo as soldas internas. Depois troquei-a, mas o processo não é complicado.
          Agora depende do que se passou contigo.
          A questão é que muitas empresas preferem trocar os produtos do que reparar. Para o cliente isso é óptimo. Mas por outro lado, o que temos depois são produtos “refurbished” no mercado. Aliás a que recebeste não deve ser nova, mas sim “refurbished”. Ou seja é uma consola já reparada de outra pessoas que é re-embalada como nova para essas trocas.
          Por isso é que refiro que não sei se é algo bom ou mau, porque não foste informado disso, mas certamente foi isso que recebeste. E a tua neste momento está tamben igualmente reparada e nas mãos de alguém.
          Porque ninguém dá produtos novos, a não ser que seja nos primeiros 8 dias… ninguém!

  3. Uma coisa que me irrita é o fato de a indústria não resolver essa situação do péssimo aproveitando do hardware, olha só nesses casos acima que fica claro o subaproveitado, vi uns testes com o DirectX 12 e foi uma decepção miserável, na maioria dos cenários o jogo piorava muito, claro que ainda não estavam adequados a ele mas, já vai trazendo a descrença nessa api, o Vulkan nesse caso e em algum outro que vi por ai já se mostrou bem mais promissor, mas não sei, enquanto tiver umas empresas canalhas igual Nvidia o cenário fica embaçado pra nós. O aproveitamento de núcleos também é dramático hein?! Se continuar assim, deveriam fazer CPUs de 2 núcleos com 10Ghz cada um e refrigerar com nitrogênio, já que não conseguem trabalhar com vários direito! ;P

Os comentarios estao fechados.