Brad Wardel tem vindo a ser o maior porta voz do DirectX 12. E o homem fala, fala, fala… e a imprensa publica. Agora resolveu comparar a Xbox One e a PS4 e falar sobre a cloud. Mais uma vez analisamos as suas afirmações.
Entrevistas a programadores de forma a se obterem informações sobre jogos, técnicas e tecnologias sempre foram muito interessantes. Mas no que toca ao DirectX 12, Bradd Wardell tem vindo a ser a figura de proa. É aliás raro o dia em que este senhor não aparece nas parangonas das notícias publicadas na internet,
Mas não sendo este senhor exactamente uma figura de proa na área dos videojogos, intriga-me o tempo de antena que lhe é dado. Mas afinal quem é Brad Wardell?
Bem, pelo que é possível saber-se este não senhor trabalha em nenhuma das grande empresas ou equipas produtora de jogos. Da mesmo forma, não é um programador de topo, não é o único a trabalhar com o DX 12 e não tem experiência, pelo menos digna desse nome, com outros APIs que não o DirectX. Resumidamente, não tem curriculo ou sequer historial para ser tomado como uma referência na área. No entanto, sempre que se fala do DirectX 12, lá está ele. Aliás, basicamente, o homem fala mais do API do que a própria Microsoft.
Mas quem é afinal Brad Wardell… que créditos possui afinal este senhor para lhe ser dado todo este tempo de antena?
Consultando o seu perfil no Linkedin, sabemos que Wardell é actualmente o CEO da empresa STARDOCK que ele próprio fundou. Mas curiosamente, ainda no mesmo perfil, possui apenas uma linha na descrição do seu curriculo, e que diz: “Desenvolve software de classe mundial para os consumidores.”.
Ora já diz o ditado que presunção e água benta, cada um toma a que quer. Mas software de classe mundial é certamente, no mínimo, um pouco exagerado para o currículo de Wardell. Procurando um pouco mais é possível encontrar-se os projectos onde Wardell esteve envolvido, e convenhamos que o termo não se adequa minimamente.
Software desenhado ou co-desenhado
- OS/2 Essentials (1994)
- Object Desktop for OS/2 (1995)
- ObjectZIP (1995)
- Tab LaunchPad (1995)
- Process Commander (1996)
- Object Desktop for Windows (1999)
- WindowBlinds (1999)
- IconPackager
- DesktopX (2000)
- ObjectDock (2003)
- Impulse (2006)
- Start8 (2012)
- ModernMix (2013)
Participação como designer
- Galactic Civilizations for OS/2 (1994)
- Star Emperor (1996)
- Entrepreneur (1997)
- The Corporate Machine (2001)
- Galactic Civilizations(2003)
- The Political Machine (2004)
- Galactic Civilizations II (2006)
- Elemental: War of Magic (2010)
Participação como produtor executivo
- Havok (1995)
- Trials of Battle (1996)
- Avarice (1996)
- Stellar Frontier (1997)
- Links Golf for OS/2 (1998)
- Sins of a Solar Empire (2008)
- Demigod (2009)
- Sins of a Solar Empire: Rebellion (2011)
- Elemental: Fallen Enchantress (2012)
- Elemental: Fallen Enchantress – Legendary Heroes (2013).
Resumindo, o programa mais conhecido em que Wardell participou é… o Windows Blinds (Stardock Windows Blinds). E a nível de jogos de jogos talvez… Galactic Civilizations II.
Wardell até tem bons jogos no seu currículo, mas convenhamos… não são best sellers e muito menos que se distingam pela aplicação de qualquer tipo de proeza técnica.
A nível de participação na criação de jogos que puxem ao máximo por sistemas, que sejam inovadores a nível gráfico, de características, técnicas, que possuem grandes orçamentos e se esperam ser best-sellers, ou resumidamente, os jogos AAA, o seu historial é… ZERO. E a experiência na programação de consolas… novamente ZERO. Nem mesmo a Xbox 360 consta da lista.
Aliás a sua experiência com outros APIs que não o DirectX na sua versão Windows limita-se muito recentemente ao Mantle e à demo Star Swarm criada pela sua empresa!
Mas mesmo assim, não sendo Wardell nenhuma referência no sector, a imprensa dá-lhe atenção diária como se este senhor fosse uma autoridade no assunto. Motivo? Talvez porque isso lhes traz visualizações!
A sua entrevista mais polémica terá sido realizada em Março deste ano, quando Wardell referiu que Microsoft, AMD, Nvidia e Intel (os produtores e interessados nos APIs) estavam todos a mentir e a querer ocultar os verdadeiros benefícios do DirectX 12. Isto porque nenhum queria admitir que até agora as placas gráficas estavam limitadas (como se isso não fosse já claro para todos).
Com essas frases Wardell aparecia assim, qual anjo redentor, no panorama dos videojogos, explicando ao mundo que afinal o DX 12 é bem superior do que os próprios fabricantes de placas gráficas e criadores dos APIs querem admitir. Aquela cambada…
Naturalmente a situação era tão ridícula que nem a abordamos, e desde essa altura, aqui para nós, Wardell caiu em descrédito. O homem tem conhecimentos, mas é claramente um exagerado e alguém que procura protagonismo.
No entanto a imprensa não o esqueceu. E o homem continua na ribalta. Daí que perante as suas últimas declarações, vamos analisar a entrevista de Wardell à Gaming Bolt, e onde este comparou as novas consolas, vendo o que é coerente do que ele afirmou e aquilo que, como habitual, é exagerado, desproporcionado, ou desconhecimento.
Questionado sobre as diferenças de largura de banda entre as duas consolas, devido ao uso da DDR3 da Xbox One, e se a eSRAM consegue compensar isso face à PS4, Wardell responde.
Isso depende de com quem fala. Na minha opinião pessoal a eSRAM não chega a compensar, mas aproxima bastante as coisas. No entanto, o verdadeiro problema da Xbox One é que apenas possui 12 unidades de computação no seu GPU e penso que a PS4 tem perto de 18. O hardware na Playstation 4 é na minha opinião melhor que o da Xbox One.
Wardell tem nesta frase uma tendência excessiva para constatar o óbvio. Mas acho piada em ele referir que a PS4 tem perto de 18 unidades de computação, quando na realidade “perto” não é um número. A PS4 possui 18 unidades de computação exactas… e ser superior a nível de hardware não é uma questão de opinião, é uma realidade factual. Pode haver quem se negue a vê-lo, mas isso não altera essa realidade.
Já não é a primeira vez que Wardell revela desconhecimento do hardware da consola da Sony ao ponto de não conseguir ser assertivo face à realidade da PS4. Mas nem por isso deixa de falar.
A questão da eSRAM se aproximar da GDDR5 é igualmente outro facto que é conhecido. Aliás a eSRAM foi lá colocada para isso mesmo, para garantir algo aproximado da GDDR, sendo no entanto um remedeio.
Podemos no entanto verificar isso facilmente: Como sabemos as memórias são todas referenciadas pelas suas performances teóricas. Velocidades essas que dependendo do funcionamento da memória possuem depois variações conforma o aproveitamento da RAM, obtendo-se aquilo que são as velocidades reais.
No caso da eSRAM estamos perante uma velocidade máxima teórica de 204 GB/s. No entanto, dada a sua forma algo peculiar de funcionamento que já tivemos oportunidade de explicar em outros artigos, esta memória tem grandes quebras de performance. Os valores de velocidade real anunciados oficialmente pela Microsoft foram, em 2013, de 140 GB/s. No entanto, tem sido realizadas algumas optimizações à memória (que até conta com um API próprio), e espera-se que com o DX 12 a mesma possa vir a ter ganhos de até 10%, o que elevaria este valor para perto dos 154 GB/s.
Na consola da sony, a GDDR5 anuncia 176 GB/s que também são apenas teóricos. O aproveitamento da GDDR5 é no entanto bem superior ao da eSRAM (perto dos 90%), pelo que a velocidade destas memórias se deverá situar nos 158,4 GB/s reais.
Como vemos são efectivamente valores muito próximos!
O que impede então a eSRAM de ser um substituto à altura? A grande diferença entre a eSRAM da Xbox One e a GDDR5 da PS4 acaba por nem ser a vantagem de alguns Gigabytes/s extra, mas sim o facto que na PS4 não há que movimentar dados de um lado para o outro uma vez que toda a memória possui a mesma velocidade. Na Xbox One a memória rápida são apenas 32 Megabytes o que obriga a mover constantemente dados da DDR3 para a eSRAM e vice versa.
Apesar de estas movimentações serem feitas a custo zero pela presença de 4 Move Engines capazes de movimentar 25 GB/s cada um, mesmo com a ajuda dos mesmos a velocidade de leitura/escrita da DDR3 não se altera.
A DDR3 anunciada com 68 GB/s de velocidade máxima teórica, possui, como habitual nestas memórias, um aproveitamento de 80%, o que traz a sua velocidade real para os 54,4 GB/s (Um valor igualmente já confirmado oficialmente pela Microsoft (nota: os valores das velocidades das memórias da Xbox One foram confirmados na entrevista dos arquitectos/engenheiros da Microsoft à Eurogamer). E isto quer dizer que, com ou sem Move Engines, estas memórias só conseguem mover 54 GB/s, obrigando a uma gestão rígida dos dados da eSRAM na sua pequena quantidade de memória disponível para se evitar cópias desnecessárias.
No entanto, a memória da PS4 é uma única Pool acedida pelo CPU e GPU, o que quer dizer que o CPU pode aceder aos dados do GPU, e vice versa, mal eles ficam disponíveis. Já na Xbox One a eSRAM está negada ao CPU, obrigando a copiar o seu conteúdo para a DDR3 para este lhe aceder. O GPU esse acede às duas pools de memória.
Resumidamente, a nível de largura de banda, a situação é tal e qual como Wardell a coloca. A eSRAM, apesar de ser uma benesse, não chega a compensar, mas aproxima bastante as coisas ao ponto de a largura de banda acabar por não ser o elemento diferenciador. A questão é que usar a eSRAM de forma a se obter esta eficiência, obriga a optimizar o seu uso e a conjugar a mesma com a DDR3 da forma mais eficiente possível, e isso torna-se bastante complexo. Daí a referência à situação na frase “Isso depende de com quem fala“.
Wardell continua depois comparando os APIs das duas consolas. O futuro DX 12 para a Xbox One e o GNM. E aqui usa uma frase um pouco difícil de ser traduzida sem introduzir significados paralelos. A palavra “Crummy” (que curiosamente já tinha usado antes para definir a largura de banda da Xbox One).
A palavra “crummy” possui vários sentidos… na maior parte das vezes depreciativo. Entre outros significados temos miserável, barato ou inferior.
Tive por isso algum cuidado com esta palavra que possui vários significados, não querendo distorcer as palavras de Wardell. Não deixando porém de ficar chocado com a forma algo libertina como a palavra é usada por este senhor.
Consultei por isso o dicionário de língua Inglesa. E por exclusão de partes, até porque não gostaria de fazer Wardell soar a ridículo, penso que a tradução mais correta será a usada quando o sentido é “fell crummy” onde a tradução será… depressivo. A tradução é complexa uma vez que a palavra depende da intenção e contexto, que aqui não é claro, mas no entanto essa será a tradução que lhe vou dar, até para para não ferir susceptibilidades.
unwell or depressed: to feel crummy.
Na minha opinião, o software da Playstation é depressivo (crummy) comparado com o software da… sabem, é do género escolham, percebem. Não deveria dizer depressivo (crummy), mas não é tão sofisticado como os da Xbox One,
Basicamente acabas com uma maneira pouco prática de saber que os jogos serão de capacidades similares. Eu prefiro escrever para o windows do que para Micro Controladores (risos), ou algo onde teria de saber coisas que são menos standard ou um pouco mais misterioso. Claro que o que é misterioso é sempre uma questão de onde estás sentado a ver as coisas. Como criador Windows acho a Xbox One mais familiar, mas se fores um criador Linux poderás achar a Playstation 4 mais familiar. É só um exemplo.
Apesar de andar para trás e para a frente com as palavras, Wardell faz aqui uma comparação entre os dois APIs, e compara o API da PS4 com código para Micro Controladores. E mesmo que sem essa intenção acaba por lhe fazer um elogio no sentido que estamos a falar do código de mais baixo nível existente pois é com esse tipo de código com que os chips são programados para funcionar. É no entanto uma linguagem complexa que não é exactamente para todos daí que o termo “depressivo” usado na tradução parece ser adequado à comparação feita. Afinal Wardell é um programador Windows… e não é uma das cabeças da indústria, e sendo ainda por cima um programador sem experiência em títulos AAA e em puxar e optimizar sistemas ao máximo, compreende-se que pense assim.
Mas face a esse termo que pode ter outros significados muito fortes não poderei deixar de comentar. Afinal, como já referi, “crummy” pode em outros contextos significar miserável, barato ou inferior. Não querendo deixar passar essa ideia só porque a tradução não é clara, pesquisei um pouco sobre o assunto para ver a opinião de outras pessoas da área, de preferência com mais currículo que Wardell, sobre o API da PS4.
Podemos por exemplo ver o que Wolfgang Engel acha sobre o API da PS4.
Agora perguntam vocês… mas quem é esse senhor?
Bem, o curriculo dele fala por si:
Wolfgang é actualmente o CEO da Confetti que fundou em 2009. A Confetti é aquilo que se denomina de um “think-tank” para a pesquisa de grafismo em tempo real e um fornecedor de serviços para a indústria dos videojogos e do cinema. No mundo dos videojogos trabalha essencialmente com a Qualcomm, AMD, Intel e Microsoft.
Anteriormente Wofgang trabalhou 4 anos como programador gráfico principal naquela que é uma das melhores equipas do mundo, a Rockstar, no desenvolvimento do seu motor RAGE que equipa os jogos da série GTA como GTA V.
Ele é o editor da série de livros ShaderX e GPU Pro, autor de vários livros e artigos sobre rendering em tempo real e optimização de GPUs, contribui regularmente para websites e para a Game Developers Conference, onde o seu livro ShaderX4 recebeu um prémio. Foi igualmente um dos envolvidos na criação da tecnologia Tress FX de simulação de cabelos pelo GPU da AMD, bem como de muitas outras tecnologias que são actualmente usadas por vários motores. Esteve igualmente envolvido na optimização de Battlefield 4 para as placas e CPUs da AMD. Mantêm ainda o blog: Diary of a graphics programer
Wolfgang foi galardoado pela Microsoft por 9 (nove) vezes como o profissional mais valioso do ano, tendo ganho pela primeira vez o prémio em 2006 (Sim, sim… desde 2006 que o homem tem ganho o prémio todos os anos). É ainda autor de livros técnicos sobre a metodologia de funcionamento do ainda por lançar DirectX 12 e autor/criador de várias técnicas avançadas de rendering que são usadas pela indústria em diversos motores gráficos de topo. Por exemplo, os célebres vídeos de Voxel Ray Tracing em tempo real usados pela Microsoft e Sony para mostrarem as capacidades das suas consolas são da autoria da empresa deste senhor.
Wolfgang é responsável por muitos dos standards gráficos usados no mercado, pela criação de novas técnicas e equipas que as utilizam, e com conhecimentos de programação directa em Xbox One, PS4, PC, Xbox 360 e PS3, plataformas para os quais todas as suas soluções middleware foram adaptadas e estão disponíveis.
Dado este senhor possui um bocadinho mais de curriculo que Wardell, não sendo uma pessoa que procure protagonismo, cremos podermos tomar as suas palavras como credíveis.
Vejamos as suas palavras dadas à Wccftech e onde compara o API da PS4 com o DirectX 12.
O API customizado da Sony é muito mais baixo nível e definitivamente algo que os programadores gráficos adoram. Oferece enorme controlo. O DirectX 12 será um pouco mais abstrato porque necessita de trabalhar com muitos GPUs diferentes ao passo que o API da PS4 pode colar-se ao metal.
Note-se que de forma alguma Wolfgang está a criticar o DirectX 12 ou a dizer que será pior, até porque não se está a referir à versão da Xbox One que pode igualmente ter optimizações específicas. Aliás segundo as suas palavras presente no artigo, Wolfgang acha que o API será muito bom na consola da Microsoft.
No entanto esta opinião sobre a qualidade do API de alguém que já programou na PS4 é bem diferente da de Wardell que nunca o fez. Daí que acima de tudo se torna claro que seja qual for o sentido usado, as frases de Wardell não passam da sua opinião sobre um API sobre o qual não possui qualquer experiência, uma vez que nunca sequer programou no mesmo. E que, curiosamente, na opinião de Wolfgang, é um API ao estilo do que os programadores gráficos adoram.
Daí que como em outras vezes em que este senhor falou, achamos que, sobre o que não sabe, ou nunca experimentou, Wardell deveria ter mais cuidado com as palavras. Não só o API da PS4 não se adequa a esse termo, como a largura de banda da Xbox One também não.
Mas Wardell não se ficou por aqui. Em uma outra entrevista (E este homem dá tantas entrevistas ao ponto de ser intrigante quando é que ele tem tempo para programar) falou do Cloud Computing e de como ele pode ajudar a Xbox One.
Wardell referiu que a Cloud pode “absolutamente” ajudar a Xbox (olha a novidade… Pode ajudar a Xbox e pode ajudar todos os sistemas informáticos deste planeta), e refere que a latência não é um problema tão grande como se pensa. Para o provar refere que a drive de Blu-Ray da Xbox One é bastante mais lenta que a média das ligações de banda larga a nível de transferência de dados. Uma situação que me surpreendeu, pois sinceramente não sei a que ligações de banda larga Wardell está habituado.
A questão é que da última vez que vi a Xbox One e a PS4 estavam equipadas com um leitor Blu-Ray 6x. E isso equivale a uma capacidade de leitura de 216 Mbits/segundo ou 27 Megabytes/segundo.
Daí que se 216 Mbits/segundo é bastante mais lento que a média das ligações de banda larga a nível de transferência de dados, eu vou ali e já venho. Afinal estava eu tão contente com os meus 120 Mbits e venho a saber que a minha ligação a nível médio é uma porcaria. Provavelmente deve ser uma novidade de ultima hora agora de 2015 pois os estudos da AKAMAI de 2014 apontavam para valores médios mundiais bastante, mas mesmo bastante (mais de 10x), inferiores.
Daí que das duas uma. Ou quem transcreveu a notícia meteu a pata na poça, ou Wardell, mais uma vez, desconhece a realidade do hardware das consolas.
Seja como for, a comparação será sempre muito pouco inteligente. Afinal as novas consolas possuem discos rígidos para onde instalam os jogos por isso mesmo. Para eliminar as necessidades de acessos lentos ao leitor de Blu-Ray. Se assim não fosse os discos não eram necessários!
Mas continuemos com a entrevista:
Como exemplo simples dos benefícios da Cloud, Wardel fala de um jogo de Xadrez, onde a IA é calculada no servidor e a consola apenas trata dos gráficos.
Num outro exemplo mais lógico e adequado, Wardell fala do jogo Cities: Skylines onde o tamanho da cidade fica dependente do hardware, referindo que se fosse baseado na Cloud, um planeta inteiro poderia ser simulado. Mas claro há que colocar um travão nas afirmações de Wardell pois apesar da teoria, os recursos necessários para tal seriam gigantescos. E o uso de uma Cloud não é exactamente gratuito. Mas fica a ideia!
Ainda de acordo com Wardell o Ping seria no pior dos casos 200 milissegundos. Wardell estará a falar exclusivamente do tempo de resposta do servidor, o único pelo qual ele pode responder. Mas a ele haveria que acrescentar muitos outros factores externos e que acrescentam ao ping, nomeadamente o protocolo de rede usado, o tipo de ligação (cabo, rdis, fibra, adsl), a qualidade da ligação, a configuração de firewals, a localização geográfica face ao servidor, a qualidade do router, etc. Todos factores extra servidor e que fogem ao controlo de quem o instala.
Faltaria ainda saber que recursos teriam de ser atribuídos na Cloud para se atingirem os 200 ms, e se os mesmos seriam financeiramente comportáveis.
Onde temos de concordar com Wardell é que se efectivamente a Microsoft conseguir colocar a Cloud a funcionar como planeia, muitas coisas novas seriam possíveis. Isso é inegável e abrir-se-ia um novo leque de possibilidades à consola. Infelizmente um leque que ficaria dependente dos servidores e da internet para funcionar. E caso tal se tornasse um standard a Xbox One estaria condenada mais cedo ou mais tarde a tornar-se um pisa papeis pois a realidade é só uma: Os servidores não ficam lá para sempre! E ou a memória me atraiçoa, ou a necessidade de uma ligação constante foi algo não muito apreciado na apresentação da consola.
Daí que a dúvida fica. Para o exemplo dado, será que esse é um preço que justifica pagar para se ter cidades do tamanho de planetas? Não basta ter cidades do tamanho de… cidades?
De acordo com Wardell o jogo que está a programar, o Ashes of Singularity usa material gerado processualmente: Simula a erosão, declives, montanhas, vegetação, etc. Tem tanto paralelismo que tiveram de usar o GPU para o computar.
Wardell refere ainda que este jogo não pode ser feito numa consola, e que somente se a Microsoft conseguir colocar a Cloud a funcionar como quer se poderá pensar em tal. No PC o processo demora segundos, nas consolas a espera seria demasiada.
Esta é uma situação algo intrigante. A R9-260 e a R9-270 a que se equivalem as gráficas das actuais consolas não são exactamente placas antigas. Se as placas das novas consolas que até suportam o DirectX 12, são lentas no processo de geração por GPU, que placas o jogo requer no PC? Titans e R9-290X? Se é assim, é bom que o seu jogo seja excelente pois o mercado a atingir é relativamente reduzido e bastante selectivo.
Mudando de assunto e esquecendo a Cloud, Wardell refere ainda que Star Control que está a ser programado para a Xbox one será visualmente impressionante. Apenas que não terá 8000 unidades no ecrã como a versão PC.
Mas agora sinceramente… alguém faz tenções de as contar? Desde quanto ter milhares de unidades no ecrã é sinónimo de um bom jogo?
Para finalizar Wardell deixa ficar mal a própria Microsoft. Revela que há uma característica do DirectX 12 (e que não afectará a Xbox One que já a possui activa) que é embaraçosa pois já devia existir no DX 11. Basicamente ela é comparada com o mudar um interruptor de posição, ganhando 20% de performance e que não requer muito trabalho do lado do criador.
Que pena Wardell não ter sido consultado na devida altura… certamente a Microsoft teria apreciado uma cabeça destas!
Em nota final Wardell fala dos ganhos da Xbox One oferecidos pelo paralelismo do DX 12 em oposição à serialização do DX 11. Um ganho do qual já falamos, mas que referimos que afectará igualmente a PS4 uma vez que com os jogos programados em DX 11 e convertidos para a consola, esse tipo de programação pura e simplesmente não existia.