Será a causa da performance da Xbox, um problema nos kits de desenvolvimento?

A realidade é só uma… ninguém pode afirmar que sim, ou que não!

Analisando as novas consolas, o que se vê é muito simples. Uma tem 10.28 Tflops e a outra 12,14 Tflops.

Apesar de esta ser uma performance máxima teórica que admite uma situação irrealista de ocupação máxima do GPU, a realidade é que aceitando o mesmo como base de comparação temos aqui duas consolas com uma diferença de performances que ronda os 18%.

Historicamente é a diferença mais reduzida alguma vez encontrada nas performances máximas teóricas de duas consolas rivais, e claramente longe dos 40% vistos na geração passada entre a PS4 e a Xbox One ou a Xbox One X e a PS4 Pro.

Apesar de estarmos a lidar com valores teóricos, está diferença acaba por ser a percentagem que, realisticamente, poderiamos esperar encontrar. Não quer dizer que não pudessem haver situações pontuais onde a diferença não pudesse ser superior, ou inferior, mas 18% seria o valor médio a esperar. Isto claro, se os Tflops fossem uma boa medida para ser aplicada aqui.



Eventualmente alguem poderia dizer que, analisando o mercado PC, podemos verificar que nem sempre os jogos escalam tão bem com a velocidade, escalando melhor com mais unidades de computação, e que, nesse caso, a Xbox teria uma vantagem maior.

Mas isso é uma realidade… do PC! Quando um jogo é feito no PC, ele é feito para correr na maior diversidade de hardware possível. Porque motivo os programadores haveriam de optimizar para velocidade ou para mais unidades de computação se quando o jogo chegar ao mercado vai encontrar os dois casos?

Nesse sentido, o jogo não sofre nenhuma optimização nesse aspecto, e os testes que se fazem para verificar se os jogos escalam melhor com mais unidades de computação ou com velocidade, vão depender apenas de uma única coisa… da amostra recolhida.

Isso não é o que se passa nas consolas. Quando uma equipa faz um jogo para uma consola, ela optimiza para o seu hardware. E se ele é mais forte em paralelismo, aposta-se no paralelismo, se é mais forte em velocidade, optimiza-se para velocidade. É uma situação radicalmente diferente do PC, pois aqui há uma otimização ao hardware específico, algo que nos PCs não existe sequer.

E apesar de ambas as consolas possuírem hardware baseado no Zen 2 e no RDNA 2, convêm não ignorar que não estamos a falar de hardware que não é o mesmo que nos PCs… Estamos a falar de CPUs e GPUs altamente modificados para se ajustarem às necessidades das empresas. Estes processadores custam largas dezenas de milhões de dólares a desenvolver, e daí que acreditar que no final estamos com um sistema que é igual ao base da AMD é uma utopia. Para isso não se gastava este dinheiro em desenvolvimento, e ia-se buscar um produto já feito!

E são essas diferenças que no final fazem a diferença. Essas alterações pagas a peso de ouro, e que permitem a criação de um hardware barato, mas com características de topo que possam ser exploradas e melhoradas ao longo de uma geração.



Do lado da Xbox sabemos que a empresa apostou numa arquitectura nova de I/O, com o Velocity Engine, sabemos que, associado a isso apostou no Sample Feedback Streaming, uma tecnologia para jogos de mundo aberto que funcionam por streaming, onde é possível, analisando os fotogramas anteriores, prever os futuros, e assim solicitar apenas as partes das texturas efectivamente necessárias, poupando na capacidade de transferência do SSD. Uma tecnologia que no entanto, como o nome indica, só funciona neste tipo de jogos.

Há também uma aposta no VRS, ou Variable Rate Shading, uma tecnologia que permite reduzir a qualidade gráfica em zonas menos importantes do ecrã, de forma a poupar recursos e ganhar performance extra.

Já do lado da Sony as apostas foram diferentes.

O seu sistema de I/O é diferente de tudo o que existe, e superior a tudo o que actualmente existe no mercado. O seu SSD, devidamente usado, transfere 5.5 GB/s, com 6 níveis de prioridade activos (um SSD normal possui apenas dois).

Depois a Sony apostou em cache scrubbers. Uma tecnologia nunca antes aplicada a consola ou a computadores pessoais, que permite a otimização da escrita nas caches, fazendo com que as mesmas tenham um rendimento superior, e evitando assim acessos à RAM, o que poupa na largura de banda. Os ganhos anunciados por estudos académicos apontam para ganhos na largura de banda até 40%, um número que no entanto não podemos afirmar ser o que está em causa na PS5.



Seja como for, a sua maior velocidade de relógio permite que as suas caches internas aumentem em vários Terabytes por segundo a sua largura de banda, o que claramente é uma mais valia. Isto associado aos cache scrubbers, que optimizam o uso das caches permite ganhos no rendimento interno do GPU que não se podem quantificar, mas que inegavelmente existem.

Da mesma forma, refere-se, e esta é uma situação ainda não comprovada, que o processador da PS5 possui uma cache L3 unificada, tal e qual como o Zen 3. Uma situação que, mais uma vez, permite poupar ciclos de relógio, otimizando o processamento.

Soma-se a isto os motores de coerencia que permitem, tal como o nome indica, criar coerência entre os dados das caches, tornando os dados do GPU facilmente acessíveis ao CPU e vice versa. Permitem ainda que as transferências do SSD evitem o processo de check in na RAM, poupando igualmente processamento e ciclos de relógio.

Temos ainda o novo Geometry Engine. Uma peça criada pela Sony e que não é o mesmo Geometry Engine que equipa os GPUs RDNA 2 (há quem refira que a AMD o usará no RDNA 3, mas é só um rumor). Este novo geometry engine é referenciado como sendo uma revolução, com um processo de criação de geometria radicalmente diferente que permite a optimização plena no processo de criação de triangulos, evitando os não visíveis, e poupando assim processamento e ciclos de relógio. Este Geometry Engine é igualmente referenciado como possuindo uma tecnologia equivalente ao VRS, mas que não tem tanto impacto visual, e aplicado imediatamente no processo de criação de toda a geometria.

Ora nada do que está aqui referido é inventado por este website. Há inúmeras fontes que comprovam o que aqui é referido e que, em caso de dúvidas, se recomenda que procurem. Nesse aspeto o Google é vosso amigo.



E estas situações acabam por se refletir numa situação. Um ganho de rendimento interno grande na Playstation 5. Ganho esse que reduz os 18% que acima referimos. E claro, dependendo dos ganhos que aporta, poderá trazer mesmo vantagens de performance face à sX.

Convêm ainda não esquecer que um GPU não é só Tflops. Existe um pipeline gráfico fixo que não depende dos Tflops, mas depende dos MHz, e que na PS5 consegue gerar mais triangulos e mais pixels, ou seja, mais geometria e mais fotogramas com as 64 ROPs da consola (tantas como na Xbox).

E tudo isto tem como consequência o que temos estado a ver… Os jogos a mostrarem a PS5 a igualar ou mesmo a superar a Xbox. Consequência desta diferença no funcionamento das arquitecturas. Algo que torna os Tflops uma medida irreal para estas consolas. Este é aliás um aviso que alguns criadores de software que tiveram contacto com o hardware desde cedo tem vindo a dar. Que os Tflops são enganadores e não refletem performance com estas diferenças de hardware.

Daí que falar-se em problemas nos devkits para justificar o que estamos a ver, com a PS5 a levar vantagem sobre a Xbox na maior parte dos jogos, apesar de ser uma situação que não se pode descartar, é uma situação que soa a mera desculpa. Ninguém sabe em que estado os dev kits estão, ninguém pode afirmar que o dev kit da Sony está melhor ou pior que o da Xbox! As revisões dos devkits vão melhorar as performances, isso é um dado adquirido, mas essas revisões acontecerão para os dois lados, e daí que afirmar que eles trarão vantagem a A ou B é algo que ninguém pode afirmar com toda a certeza.

Aliás, se a PS5 não existisse, dificilmente alguém se estaria a queixar das performances da sX, uma vez que as performances da consola estão ao nível esperado. Aliás, a própria crítica especializada refere-se aos resultados que estamos a obter como sendo a PS5 que está bater acima da sua altura, e não a Xbox que está abaixo do esperado.



E a realidade é que o que estamos a ver tem uma explicação. Há efetivamente diferenças no hardware que são capazes de plenamente justificar o que vemos!

Agora há uma realidade à qual não podemos deixar de referir. A de que efetivamente a Xbox, ao ser uma consola, poderia ter melhores performances trazidas pelo dev kit. Algo que aconteceria se a Microsoft não tivesse que suportar o ecossistema PC. Basicamente eventuais ganhos da Xbox poderão estar perdidos aqui em layers de abstração colocadas num devkit genérico que visa suportar o PC e a Xbox, pois recorda-se que o hardware de uma consola, se devidamente suportada por um API dedicado vai acima do que ele debita num PC.

Se um dia a Microsoft criasse um API exclusivo para as Xbox, as performances poderiam ser outras, e a Xbox poderia recuperar a vantagem conseguindo então ganhos que a colocassem com vantagem. Mas com uma Microsoft que quer unificar o Gaming, um APi diferente para a consola e para o PC, que quebra a compatibilidade e obriga a dupla optimização, não parece algo que vejamos tão cedo, se é que alguma vez veremos, até porque a Microsoft ao ter a NVIDIA como parceira no PC, não tem qualquer interesse em a prejudicar ao apresentar código mais optimizado para AMD.

 



48 Comentários
Antigos
Recentes
Inline Feedbacks
Ver todos os comentários
Nuno Sousa
Nuno Sousa
20 de Dezembro de 2020 11:02

Mais um artigo ao nível do que nos habituas-te.
Acrescento apenas se me permites que dar como desculpa o atraso dos devkids como a justificação para uma menor performance também não é de todo abonatório para a Mic. O que tiveram eles a fazer durante estes 3/4 anos? Porquê anteciparam a apresentação em Dez dando a entender estarem uma posição até mais avançada do que a Sony. Desde sempre que lemos que a venda da consola seria antecipada fase à Ps5, o que correspondeu. Lemos também que o início da sua produção potencialmente começou mais cedo, se não me engano até por fonte oficial a enaltecer o início da produção. Perante isto tudo como se pode agora justificar que houve falha dos devkits? A corresponder é uma falha muito grave daquelas que só podiam, numa organização, rolar cabeças nomeadamente a do Phill. Não se brinca com situações destas com forte impacto no PTOI duma empresa, Parecem justificações para enganar putos.
Assumam as diferenças e façam o que devem fazer: promover a excelente consola que têm com novos ips. São os jogos que nos podem cativar para a sua compra não estas desculpas esfarrapadas. Para minha triste sensação, penso até que o caminho que vão seguir não será esse mas a continuada propaganda da consola + poderosa. Têm + 2 anos para empatar com mensagens, ideias da treta e depois apresentam em 2022 nova série mais poderosa. Afinal o canibalismo de consolas não é preocupação para aqueles lados como vimos com a one x.

Sparrow81
Sparrow81
Responder a  Nuno Sousa
20 de Dezembro de 2020 11:46

Nuno, a Microsoft e a divisão Xbox por sua vez, adora gerar expectativas… Eles mostraram a SX um ano antes do seu lançamento simplesmente porque não tinham mais nada a entregar em 2020! A Sony entregou dois jogos grandes, em junho e julho e obviamente não teria porque criar um a hype no console novo tão antecipadamente… Se programou duma forma em não se atropelar.
Lá atrás, quando a Mic mostrou o SX no The Game Awards e um amigo falou que “Agora sim, vem a resposta do Xbox e o resultado dos novos Studios começa a aparecer com a apresentação da cinemática de Hellblade” só me restou falar a ele para diminuir as expectativas e perguntá-lo se não conhecia a Microsoft. Ela vem gerando hype desnecessário e falando demais desde 2015, sempre enfatizando o futuro que será brilhante e arrasador, mas quando o futuro chega, se adia para o hype do próximo futuro.
Tem gente que adora viver de sonhos, mas eu prefiro viver da realidade das coisas, analisando fatos e o que aconteceu no passado recente para ter uma perspectiva mais realista do futuro.

Last edited 3 anos atrás by Sparrow81
Sparrow81
Sparrow81
20 de Dezembro de 2020 11:33

Um excelente artigo, Mario. Parabéns
Mais uma vez mostrando que as coisas são diferentes do que muitos imaginam e muito diferente do que se falar em PCs, com tantas variações e propostas diferentes das fabricantes.

Last edited 3 anos atrás by Sparrow81
Rui
Rui
20 de Dezembro de 2020 11:58

A aposta na velocidade sempre foi um plus na parte da programação para jogos, os criadores de jogos tem vindo atrasar o parelismo e os multi cores o maximo que podem, até ha bem pouco tempo atrás julgo eu que mais que 2 cores para gaming era escusado, dando preferência à potência e velocidade por core.

Ora sendo a playstation a marca mais popular e tendo os programadores de jogos alguma aversão ao parelismo, não estaremos a ver aqui um desenhar o jogo para a ps5 e seus pontos fortes e depois portar para a xbox não usando o seu hardware mais poderoso?

Eu já sabia que isto da consola base para o código tem sempre vantagem, foi assim na x360 e a ps3 sofria com isso.

Sparrow81
Sparrow81
Responder a  Rui
20 de Dezembro de 2020 13:01

A base de desenvolvimento não é só onde se vende mais. É levada em consideração facilidades de programação, talvez até mais do que quem vende mais. A X360 tinha a vantagem absurda sobre o PS3 nesse aspecto.
Li, acho que no Resetera, que a CPU base de programação para nova geração é a do ps5.

Last edited 3 anos atrás by Sparrow81
José Galvão
José Galvão
Responder a  Rui
20 de Dezembro de 2020 21:44

Essa é a proxima etapa da narrativa, quando a desculpa das tools cair por terra, a nova desculpa será essa, de que os jogos estão a ser nivelados pelas capacidades da PS5, subaproveitando assim a Series X…LOL

Acho piada a negação, a imaginação fertil e cinica para negar os factos e saciar a clubite, atitude que é desconstruida uma e outra vez por alguns de nós, com factos.

Duarte
Duarte
20 de Dezembro de 2020 15:00

Onde posso ver informações oficiais sobre o mencionado acerca da PS5?

Duarte
Duarte
Responder a  Mário Armão Ferreira
20 de Dezembro de 2020 15:31

Na apresentação não é mencionado nada sobre algumas coisas que dizes.

Carlos Eduardo
Carlos Eduardo
Responder a  Mário Armão Ferreira
20 de Dezembro de 2020 23:43

Mário,

Lendo os links que você me passou em outro comentário (no final desta página), achei uma pergunta bem interessante, que remete ao que você está dizendo acima sobre coerência de memória. A questão mencionada pelo Oles sobre desperdiçar desempenho, creio que seja algo solucionado no PS5 já que possui hardware dedicado para isto, correcto?

Link: https://www.eurogamer.net/articles/digitalfoundry-2014-metro-redux-what-its-really-like-to-make-a-multi-platform-game

Digital Foundry : Há algum tempo, a Nvidia anunciou uma configuração de memória unificada para PC – quão importante isso é para o futuro da plataforma?

Oles Shishkovstov : O problema com a memória unificada é a coerência da memória. Mesmo em consolas, onde vemos SoCs altamente integrados (sistema em chips), temos a opção de mapear os intervalos de endereços de memória basicamente ‘para CPU’, ‘para GPU’ e ‘totalmente coerente’. E ser totalmente coerente não é tão útil, pois desperdiça desempenho. Quanto ao PC tradicional? Passar por algum tipo de barramento externo apenas para espionar os caches – será muito lento.

Sparrow81
Sparrow81
Responder a  Mário Armão Ferreira
21 de Dezembro de 2020 11:12

Já aconteceu isso comigo TB algumas vezes… O que fazia nessas situações; Retirava a bateria da Motherboard, tomava um cafezinho e colocava de volta. Pah, o Pc voltava a vida. Hehe

Sparrow81
Sparrow81
Responder a  Mário Armão Ferreira
21 de Dezembro de 2020 13:11

Esse é UM, de muitos outros fatores que me fizeram desistir de jogar em PCs… As vezes a gente quer só jogar e se depara com coisas bizarras e irritantes.

Livio
Livio
Responder a  Mário Armão Ferreira
21 de Dezembro de 2020 13:24

Estranho ao falar de eletricidade estática sendo que é recomendável conectar o computador a uma tomada com aterramento, logo eletricidade estática não deveria existir, a não ser que seja a eletricidade que constinua nos capacitores/condensadores que deixam o hardware com a “memória” dos dados ativa por alguns segundos.

Livio
Livio
Responder a  Mário Armão Ferreira
21 de Dezembro de 2020 15:11

ahhh, explicado!

Deto
Deto
Responder a  Mário Armão Ferreira
21 de Dezembro de 2020 14:48

então a foi a MS “subestimou” a sony?

me lembrei da narrativa do windows central agora, “sony substimou a MS”… que me lembrou do Penello “nos criamos o DX, não tem como a Sony ter feito um console mais poderoso” que me lembrou de conferir o twitter do penello para ver se ele anda falando groselha do PS5 igual falava antes do lançamento dos consoles.

mudinho, e agora vi que ele trabalha na Amazon Luna.

podemos ficar tranquilos Mario… não vai ser o streaming Luna que vai acabar com os consoles HAHAHHAHAHAHH

nETTo
nETTo
Responder a  Mário Armão Ferreira
21 de Dezembro de 2020 13:14

Esqueceste de Referir do Tempest, o qual dedica uma CU personalizada aos moldes das SPUs de PS3 as quais eram e segundo Cerny excelente pra áudio 3D, também é bom referir que o Tempest também pode trabalhar não só com áudio mas também com processamento diversos dentro do desenvolvimento do jogo. É um Plus adicional

Deto
Deto
20 de Dezembro de 2020 15:07

xbox tem compromisso com o Azure, o meu palpite é que o downclock* do xbox é para ter mais CUs com a mesma dissipação de calor foi para inflar os TF e usar em data center.

xbox também tem um “ECC” para GDDR6, bizarro que a MS ficou falando disso ainda, sendo que para quem entende isso significa “gastamos orçamento do desenvolvimento do xbox para data center, e não games”

Sabe quem inflou os TF pq tem arquitetura unificada entre Games e Servidores? Nvidia com Ampere.

quem lembra da Vega, GCN, feita para data center com TF inflado?

*ironicamente fã do xbox adorava repetir na internet que a Sony tinha feito “overclock” para peitar a MS suprema, acabou que é a MS que fez downlock para inflar CUs e usar no azure. Impressionante, se essas ironias se repetissem na política também, o mundo estaria bem melhor.

Meu palpite é que o compromisso com Azure “capou” o TF do xbox igual capa os TF do GCN e Ampere comparando com desempenho vs TF do RDNA2 do PS5 e da AMD para jogos.

Ainda bem que isso não me atinge, não é o console que eu comprei com o meu dinheiro perdendo em desempenho comparado com o PS5 e custando o mesmo pq o fabricante quer rodar HTTP de servidor nele.

Sobre a lenda do devkit, isso ai tem toda a cara de narrativa fabricada pela propria MS, lança essa ideia para os fanboys de twitter que começaram a repetir isso e espalhar, depois saiu o Phill falando que “esperamos até dois meses atras para a AMD aprontar o RDNA2 full” para reforçar essa narrativa.

Last edited 3 anos atrás by Deto
Duarte
Duarte
Responder a  Deto
20 de Dezembro de 2020 15:34

Apenas a tua opinião, tosca e sem qualquer sustentação mas tens direito a ela.

Sparrow81
Sparrow81
Responder a  Duarte
20 de Dezembro de 2020 16:01

Sem sustentação? Sustentação tem de sobra para o que ele escreveu, problema é o tom apenas…

Sparrow81
Sparrow81
Responder a  Mário Armão Ferreira
20 de Dezembro de 2020 16:56

E aí ele mesmo perde a credibilidade do que diz, mesmo que faça total sentido, pela agressividade.

Deto
Deto
Responder a  Mário Armão Ferreira
20 de Dezembro de 2020 17:09

Tenho q parar de ler fórum, em geral escrevo assim depois de ler groselhas no Gaf.

Carlos Eduardo
Carlos Eduardo
Responder a  Duarte
20 de Dezembro de 2020 17:56

Alguns dizem (Moore Law is Dead e outros) que a GPU do Xbox Series X foi projetada com 4 shader arrays para que cada shader array rode um game de Xbox One S no Azure, totalizando 4 jogos simultaneamente, ou 4 clientes conectados no XCloud, que por sua vez usa a plataforma Azure.

Não sei se a frase acima é verídica. Agora, que 14 CUs por shader array é estranho, isso é. Não verás uma GPU sequer RDNA 1 ou 2 que tem 14 CUs por shader array. Todas as GPUs RDNA 1 e 2 e também o PS5 geralmente usam 10 CUs por shader array.

E qual é o problema de ter mais CUs por shader array? Seria a mesma coisa que te dizer.. “e qual é o problema de morar mais pessoas na mesma casa?”. Mais pessoas = mais recursos, seja comida, água, luz, etc. Mais CUs = maior demanda por dados, no caso o cache L1 compartilhado entre todas as CUs.

Repare que a 6800 tem 60 unidades computacionais, mas com 6 shader arrays (10 CUs por shader array) e 96 ROPs, ou seja, 16 ROPs por shader array. Xbox Series X e PS5 tem os mesmos 64 ROPs, com 16 ROPs por shader array. Só que o PS5 tem 10CUs em cada shader array, enquanto que o Xbox Series X tem 14 CUs. Repara que eu não estou sugerindo que ter menos CUs é melhor, longe disso. O que estou dizendo é que não basta aumentar a quantidade de CUs. Também precisa ter mais cache, mais shader engines, mais shader arrays, mais ROPs, etc..etc..etc.. tudo isso para manter todas as CUs devidamente “alimentadas” em paralelo.

Ora, mas como faria para ter 6 shader arrays em 56 unidades computacionais (4 desactivadas, mas que estão lá), se 56 /6 = 9,33 .. não podes ter 9,33 CUs por shader array. Mas é esse o ponto da discussão. Pode ser que de facto a consola também foi feita para o Xcloud, logo irá demandar 1 shader array por jogo de Xbox One S, tem todos os 14 CUs e todo o seu cache L1 dedicado apenas à este jogo. E o mesmo ocorrerá com os outros 3 shader arrays. Não precisaria de mais do que isso. Logo atenderá perfeitamente o xcloud, e também atenderá a consola doméstica, porém com alguns possíveis gargalos para manter todas as 56CUs sempre alimentadas em paralelo.

Claro que seria melhor ter 60 CUs e 6 shader arrays no Xbox Series X, o que encareceria o projecto como console doméstico, e talvez não mudaria em nada a demanda para a nuvem. Pelo mesmo motivo que seria melhor ter 20GB RAM sem divisão de memória, com todos os dados endereçados a 560GB/s. Mas é tudo uma questão de custo. Os engenheiros da Microsoft conhecem esses cálculos de trás pra frente. O que mais me parece é que o Xbox Series X não foi construído para um único propósito que seja uma consola doméstica. Tem mais objetivos, que em alguns momentos poderão ser conflitantes.

Obs: segue a fonte dos 14 CUs por shader array. Está na apresentação de um arquiteto do Xbox Series no evento Hot Chips. Slide 12: https://www.tomshardware.com/news/microsoft-xbox-series-x-architecture-deep-dive

Last edited 3 anos atrás by Carlos Eduardo
João Magalhães
João Magalhães
Responder a  Mário Armão Ferreira
23 de Dezembro de 2020 23:19

Ou seja! O PS5 é um sistema mais focado para jogos e um sistema mais imediato para os desenvolvedores.

Carlos Eduardo
Carlos Eduardo
20 de Dezembro de 2020 16:37

Ótimo artigo como sempre Mário.

Durante todo o ano de 2020 as discussões foram muito centralizadas nas diferenças de hardware entre as duas consolas. Mas não se discutiu muito sobre software. Claro que hardware representa a parte mais impactante na performance, mas software também é importante. Fazendo uma analogia com a Formula 1, seria como se o hardware fosse o carro de corrida, e o software fosse o piloto. De nada adianta piloto bom em carro ruim, mas com dois carros competitivos na disputa, o melhor piloto pode fazer a diferença.

Algo que me chamou muita atenção foi uma entrevista do John Linneman (https://twitter.com/CarlosEduardoCD/status/1337183683774701570?s=20), onde ele disse que existiam reclamações sobre o devkit do Xbox One, mas como o Xbox One X tem um hardware muito mais forte que o PS4 Pro, quaisquer diferenças de software seriam “engolidas” por esta diferença de hardware. Talvez agora (PS5 vs Xbox Series X) a diferença entre hardware seja pequena o bastante para que o software consiga “mitigar” essa diferença.

E o que estamos sugerindo aqui? Que a Sony escreve melhores softwares do que a Microsoft? NÃO. Existem dois pontos importantes de discussão sobre software.

1) A Sony tem décadas de experiência em escrever APIs de baixo nível para uma única peça de hardware. Não se trata apenas de consolas Playstation, como também de TVs, smartphones e outros dispositivos fabricados pela Sony. Já a Microsoft tem uma expertise gigantesca em escrever APIs de alto nível, que abstraem diversos hardwares. Não é à toa que estamos vendo jogos rodando melhor no modo retro com o Xbox Series X, seja 120fps de Rocket Leagle ou melhorias de oclusão de ambiente e densidade de NPCs em Cyberpunk 2077. A retro do PS5 ocorre em nível mais próximo do hardware, o que impede o PS5 de ter configurações diferentes do PS5 Pro. Já a retro do Xbox Series X se apóia no DirectX para abstrair instruções específicas de cada consola, permitindo que o Gen9Aware tenha configurações específicas para a nova geração, sem impactar no código-fonte escrito para a antiga geração.

2) O Software da Sony tem uma vantagem competitiva de lidar com uma única peça de hardware, no caso a consola. Isso ocorre desde usar fork do freeBSD como sistema operacional, a construir suas APIs do zero com bases semelhantes ao Vulkan. E isso gera um SDK bem enxuto e optimizado para uma única consola. Isso difere da Microsoft que tem um mercado gigantesco de PCs que não pode ser ignorado. E é óbvio que a Microsoft tem amplo interesse na paridade Xbox e PC. Com isso Xbox usa Windows, DirectX, e agora a nova GDK que unifica o desenvolvimento Xbox e PC em um único pipeline.

E ainda sobre o item 2, além de Sistema Operacional e APIs, isso também impacta nos motores de jogos. Não é à toa que Naughty Dog, Santa Monica, Guerrilla e outros tem motores próprios optimizados 100% ao hardware do PS4 e agora o PS5. O objetivo é maximizar performance de ponta a ponta (Hardware -> SO -> API -> Motor do jogo), extraindo o máximo que o hardware pode oferecer.

Para concluir, não estou a dizer que uma solução é boa e a outra é ruim. São decisões de projeto. Por exemplo, já trabalhei em um sistema onde o mesmo precisava possuir versões tanto para ios quanto android. Se o desenvolvimento ocorrer em código nativo (mais próximo do hardware, com a Sony), primeiro faríamos para Android, e depois realizaríamos o port para ios, reconstruindo pelo menos 50% do código-fonte. Isso naturalmente levaria muito mais tempo e dinheiro. Tínhamos outra alternativa que seria usar um framework que abstraísse as particularidades de Android e ios, onde em um único projeto ele conseguia gerar uma build para cada um (mais abstração de hardware, como a Microsoft). Ambas as soluções tem vantagens e desvantagens. A solução de construir 1 projeto abstraindo o hardware naturalmente é mais barata, mais fácil de manter, e consequentemente tenho mais produtividade com meu time para evoluir o projeto. A solução de construir 2 projetos nativos é mais performática, eu consigo fazer o sistema rodar mais rápido em cada dispositivo (android ou ios).

Então qual soluçao usar? Vai variar de acordo com os requisitos. Eu acho a retro do Xbox sensacional. É claro que o hardware mais novo vai entregar performance muito melhor na retro, e a camada de software do directx permite as melhorias que citei em um parágrafo anterior. Agora para jogos next-gen, creio que o desenvolvimento dedicado e nativo da Sony permite que a difereça de 18% seja parcialmente mitigada (já vi fóruns gringos citando que APIs nativas tem ganhos de até 10%).

Last edited 3 anos atrás by Carlos Eduardo
Carlos Eduardo
Carlos Eduardo
Responder a  Mário Armão Ferreira
20 de Dezembro de 2020 16:53

Sim, faz sentido. Como o Xbox One X é pelo menos 40% superior em TFLOPs (fora RAM, CPU mais rápida, etc.), as diferenças entre níveis de API não são o bastante, reduzem a diferença mas não se sobressaem. Já PS5 e Xbox Series X estão mais próximos, logo esta diferença entre níveis de APIs tende a ficar mais evidente.

Last edited 3 anos atrás by Carlos Eduardo
Deto
Deto
Responder a  Carlos Eduardo
20 de Dezembro de 2020 17:15

Parece até mais compromissos ainda que apenas perder a vantagem dos números.

Olha o Spiderman, tanto o remaster como o MM, ambos com ~1440p 60fps Com RT, que eu estou jogando aqui.

Olha a DLC do Gears Sem RT.

Poderia isso ser mais um compromisso de suportar o Xbox caixão e PC? Será por escolha ou limitação técnica?

Ah, saiu esse patch para o spider, e a Insominiac deu férias para todo mundo até ano que vem… Alto nível de administração, principalmente se comparar com a CDPR.

Last edited 3 anos atrás by Deto
Carlos Eduardo
Carlos Eduardo
Responder a  Deto
20 de Dezembro de 2020 17:31

Eu acredito que as APIs são parte da história. O PS5 também tem suas virtudes em hardware que equilibram muito as coisas.

Então junta com optimizações específicas em hardware e software, tens estes resultados.

Deto
Deto
Responder a  Carlos Eduardo
20 de Dezembro de 2020 17:10

Se fazer “api” padrão entre console e PCs não tivesse compromissos, perdas, a MS teria feito isso desde sempre, inclusive com o x360.

Carlos Eduardo
Carlos Eduardo
Responder a  Deto
20 de Dezembro de 2020 17:29

Na verdade a Microsoft sempre usou APIs de alto nível nas suas consolas, no caso o DirectX. A diferença é que nas gerações anteriores tinham um SDK (Software Development Kit) dedicado à consola que é o XDK (Xbox Development Kit). Então esses compromissos sempre existiram, mas usando um SDK dedicado para a consola. E claro que esses comprimissos também traziam vantagens. Por exemplo, eu nunca tive notícia de algum desenvolvedor reclamar de portar jogo de PC para Xbox. A própria CD Projekt RED portou The Witcher 2 apenas para Xbox 360, deixando o PS3 de lado.

Os ports para o PS4 foram facilitados por causa do GNMX, que realiza um port automático de DirectX para GNM. Sony mandou muito bem nessa.

No Xbox Series X|S, estão usando o GDK que além de usar a API de alto nível DirectX, coloca PC e Xbox no mesmo pipeline de desenvolvimento, o que torna tudo ainda mais genérico. Li aqui na pcmanias sobre a questão de terem se arrependido desse desenvolvimento 100% genérico, e que a Microsoft trabalhou no GDK para permitir optimizações mais específicas para a consola. Mas não me inteirei desse assunto em outro lugar.

Last edited 3 anos atrás by Carlos Eduardo
Carlos Eduardo
Carlos Eduardo
Responder a  Mário Armão Ferreira
20 de Dezembro de 2020 18:22

Creio que entendi Mário, obrigado.

Xbox 360 foi lançado com DirectX 9. Xbox One foi lançado com DirectX 11. Então mesmo que estas APIs sejam alto nível no PC, as consolas podiam ter extensões em baixo nível exclusivas exactamente por ter um pipeline de desenvolvimento de dedicado usando XDK.

E sobre a questão de dizer “alto” e “baixo” nível, é uma questão de vícios mesmo, preciso me habituar. Tenho o costume de generalizar DirectX como alto nível por ser mais alto nível do que APIs mais próximas do metal. Mas está errado, seria o mesmo que eu dizer que C é uma linguagem de alto nível só porque estou comparando com Assembly. (alguns defendem que C é alto nível, outros médio nível pelos ponteiros, etc.)

*** Só uma curiosidade, levei alguns segundos para entender o que significava “livrarias baixo nível”. Aqui no Brasil dizemos “bibliotecas”, no caso uma API com um conjunto de bibliotecas em baixo nível lol. Legal conhecer a forma como vocês dizem. Obrigado.

Last edited 3 anos atrás by Carlos Eduardo
João Magalhães
João Magalhães
23 de Dezembro de 2020 22:47

Alguns olham mais para o de Série X tentando apontar algum problema nele sem olhar mais profundamente para o PS5 e entender os seus acertos….Podem estar perdendo muita coisa a nível de entendimento de engenharia .

O PS4 foi um ótimo console ,digamos pé no chão ,apostou na força da GPU e uma larga banda de Ram,digamos que o Xbox One X e agora Série X foram pelo mesmo caminho de design.

Com o PS5 parece que a Sony fez de tudo para fazer um console melhor que o PS4,é um design novo com objetivos novos e que se mostrou superior….O foco foi em eliminar gargalos de performance e adicionar HW customizado para retirar cargas da CPU/GPU/RAM e de maneira geral sendo um sistema muito econômico e eficiente e na prática isso é como ganhar TFlops.

O PS5 está se superando porque a Sony fez de tudo para criar um design superior ao
seu console anterior…

Ninguém pode negar a eficiência do PS5,o que o Marck Cerny fez foi um trabalho inacreditável!e bem pensado que pode ter trazido inovações que podem influenciar projetos futuros.

Apartir de agora as pessoas vão ter que olhar o número de TFlops com ressalvas sem antes olhar todos os detalhes das especificacões escondidas no conjunto interno.

Last edited 3 anos atrás by João Magalhães
João Magalhães
João Magalhães
Responder a  Mário Armão Ferreira
26 de Dezembro de 2020 0:12

Exatamente Mário.

Sony mecheu muito no PS5….PS5 e Série X tem abordagens bem diferentes em diversos aspectos.

O que mais me espanta como um canal de tecnologia como a DF comprou a narrativa dos TFlops ainda mais tendo tantos contados na indústria e não previu que o PS5 poderia ser um sistema com HW imprevisível já que muitos desenvolvedores já estavam alertando que as diferenças práticas seriam próximas.

Digital Foundry meio que se queimou comprando a narrativa da MS…Outros sitem de tecnologia fizeram um trabalho muito melhor(como o seu e outros)

No final muitos ficaram com cara de bobo…Era a DF,Caixistas, aqueles que só olharam as especificações básicas que foram divulgadas e etc.Ficaram tipo: o que está acontecendo?

Last edited 3 anos atrás by João Magalhães
error: Conteúdo protegido