Mais uma vez a má informação sobre o DirectX 12 surge na Xbox One

Parece que na atual geração não se faz mais nada do que desmistificar mitos… mas pior do que isso é a continuidade de má informação que surge nesse sentido.

Recentemente a Gaming Bolt publicou um artigo denominad “DX12 na Xbox One possui potêncial para substancial melhoria das performances. Pode ajudar FPS e Resolução“, que vamos abordar e analisar aqui!

Antes do mais, convêm esclarecer que nada, mas mesmo absolutamente nada do que é dito no artigo em questão, é falso ou errôneo. Mas no entanto muito do que é referido, está fora do real contexto da Xbox One! Vamos ver:

O artigo refere uma conversa com Dan Baker, Tim Kipp e Brian Wade, todos eles membros da equipa do Nitrous Engine. Trata-se de um motor topo de gama que foi concebido para funcionar nas atuais consolas e PCs.

Trata-se de um motor que está a ser usado pela StarDock, a empresa de Brad Wardell e que tanto tem falado dos ganhos do DirectX 12, no jogo Ashes of the Singularity e que suporta agora o DirectX 12 para render milhares de efeitos de física e de luzes independentes.

Ora o que o artigo não refere, e daí a confusão toda que pode ser criada com a sua leitura, é que este motor surgiu com suporte limitado a dois APIs, o DirectX 11, e o Mantle. Mais recentemente, dada a morte do Mantle, este foi substituído pelo DirectX 12, passando o suporte a ser DirectX 11 e DirectX 12.

Essa situação pode ser confirmada na página oficial do motor, e neste FAQ onde vemos que o suporte inicial era para o DX 11 e Mantle. O suporta à consolas de nova geração era nesta fase apenas algo planeado para o futuro!

No entanto, visualizando esse mesmo link, encontramos agora uma nova tab denominada DirectX 12 e que fala do suporte a esse API, bem como das vantagens que ele traz face ao DirectX 11.

Quer isto dizer que, de forma indireta, e dado o suporte da Xbox One ao DirectX 12, o suporte desta consola está garantido!

Mas na realidade a equipa nunca trabalhou com a Xbox One e o seu API. API esse que, como é já conhecido, suportava já nas suas últimas versões todas as funcionalidades do DirectX 12! Daí que quando lhes perguntam se o DirectX 12 ajudará a consola a resposta começa por:

Não somos peritos na Xbox One, mas posso-lhe dizer qual é o meu entendimento.

Resumidamente o que a equipa está a admitir é que na realidade nunca trabalhou com a consola, e que o que sabem dizer é relativo aos ganhos que o seu motor pode trazer face ao DirectX 11 que a consola tambem suporta. Mas não face à programação dedicada com o API da consola, sobre a qual reconhecem não serem entendidos.

Daí que a conversa continua:

Há dois benefícios com o DirectX 12 relacionados com a performance. Possui muito menos sobrecarga no CPU. Isso é importante porque os CPUs das consolas não são muito poderosos. Teremos um grande benefício se estás a ter problemas com isso, em usar o DirectX 12.

Aqui atrevo-me a interromper. Afinal se há algo que sabemos desde sempre (confirmado já pela Microsoft e os mais diversos programadores) é que o API da Xbox One tambem era de baixo nível, e que esse tipo de acessos sempre esteve lá. Isto apesar de a consola tambem ser compatível com o DirectX 11 puro, sem qualquer tipo de extensões de baixo nível. Daí que por esta frase percebemos claramente que, como referido em cima, a comparação está a ser feita com o uso do DirectX 11 puro e não com o API específico da Xbox One.


Mas continuemos:

A outra coisa onde o DirectX 12 realmente oferece mais suporte é para características avançadas de GPU. E não há muitas formas de fazer isso com o DirectX 11. Ao activarmos isso na Xbox One podes ter grandes ganhos de performance nas consolas. Deverão haver benefícios tangíveis. Demorará alguns anos para que as pessoas se habituarem a como programar e obter esses benefícios.

Ora aqui não podia concordar mais. Mas fazer duas notas pois se calhar muitos não perceberam o contexto do de cima ficando com as seguintes dúvidas:

1º – Do que está ele a falar?
2º – E o API da Xbox One não suportava já isso?

A resposta virá de seguida ao continuarmos a ler quando surge a questão se essas melhorias podem resultar em mais pixels, melhor resolução e FPS.

Sim! Se usares as características de computação assíncrona, se optimizares a tua pesquisa de transição de barreiras tens controlo direto sobre o DirectX e há coisas que podes fazer que não tens analogia no DirectX 11.

A resposta está dada… As características avançadas do GPU é o GPGPU, a computação assíncrona. É disso que ele está a falar!

É aliás o ponto que mais temos insistido aqui na PCManias nos últimos tempos como sendo a tecnologia que mais ganhos vais trazer às consolas, e a tecnologia que, finalmente, permitirá extrair toda a performances das mesmas. É no entanto nesta fase uma tecnologia em fase embrionária a nível de técnicas de programação e que demorará algum tempo a ser dominada, tal como referido.

A questão é que respondendo à segunda questão, o API da Xbox One já suportava isso, e jogos como Forza Horizon, Forza 6 e outros, já usaram o GPGPU. Ou seja, a comparação continua a ser feita face ao DirectX 11 e não face ao API nativo da Xbox One.

Continuemos


Há potencial para ganhos substanciais de performance que se podem manifestar em aumentos de resolução e mesmo de fotogramas.

E aqui não podia concordar mais. Apenas salvaguardando que no que toca à Xbox One a consola conseguiria o mesmo sem o DirectX 12 pois o seu API já suportava a computação assincrona. Os ganhos para a consola advirão do banalizar da situação com a sua implementação no PC, e do qual a Xbox One, ao partilhar o DirectX 12 irá beneficiar diretamente sem necessidade de programação dedicada.

E isso é referido de seguida:

Há tambem benefícios para os criadores que investem em realmente tentar tirar o máximo que conseguem. Assim eles podem trazer isso diretamente para o PC. Porque se tivesses de fazer duas programações distintas terias de optimizar ou uma ou outra. Há uma melhor gestão de recursos do que nunca. E certamente vai encorajar muitas pessoas a investir na tecnologia.

O resto da Entrevista diz respeito a Ashes of Singularity, um jogo nesta fase exclusivo para o PC, pelo que as considerações não nos interessam para este artigo.

Publicidade

Posts Relacionados

Readers Comments (3)

  1. Falar sobre ganhos do directx 12 no One, sem nunca ter trabalhado com o console é complicado… E realmente muitos falam sem perceber que o console já possuía uma API baixo nível antes do dx12, então os ganhos serão modestos…

    Só acredito em ganhos maiores quando o One começar a receber jogos cujas engines foram feitas do zero para dx12, e isso o console ainda não recebeu(Fable Legends será o primeiro?)…A API sozinha não faz nada, é preciso motores feitos sob medida para ela, e programadores talentosos…

    • Convêm no entanto perceber-se que o que é dito é 100% verdade. Mas num contexto de compatibilidade DX 11 e não face ao API da consola.
      Motores optimizados de raiz irão no entanto trazer ganhos que variarão de acordo com o que é implementado no mesmo.

  2. Ando mais interessado em ver na pratica como ficará AMD vs NVidia quando saírem os jogos pensados no Directx 12, isso ajudará bastante em decidir uma compra.
    Sobre o Xbox One, acho que ele terá benefícios em conversões de jogos feitos no PC, pois me lembro de ler um programador que disse que colocar um game DX11 no Xbox One ainda necessitava de algum trabalho adicional e não era tão simples.
    Como programação dedicada nessa geração é algo que só acontece em exclusivos, o fato do Xbox One suportar o DirectX 12 diretamente realmente ajudará o console pois pelo que parece nem todos os estúdios podem ter equipes de progaramadores diferentes dedicadas a cada plataforma.

Os comentarios estao fechados.