Actualmente não é possível sabermos que tecnologias cada consola possui. E certamente temos visto elogios ao SSD da PS5 que o consideram o melhor do mercado. Mas será que o SSD da Xbox é assim tão inferior?
Na realidade não! Pois os seus 2.4 GB/s não dizem a verdade toda.
Apesar de ser indiscutível que o SSD da PS5 é superior, e claramente algo revolucionário e de topo, a realidade é que o SSD da Xbox não á aquilo que parece.
Olhando para as velocidades, vermos que o SSD da PS5 é 129% superior ao da Xbox. ou seja, ele debita mais 20$ que o dobro do da Xbox.
Mas será que esses números dizem a verdade toda?
A intenção deste artigo é explicar os motivos porque esses números não serão exactamente assim, e porque motivo o SSD da Xbox é superior ao que os números mostram. Mas para isso convêm primeiro desmistificar e fazer perceber uma série de situações que tem vindo a público nos forúns
A velocidade dos SSD
Antes de entramos especificamente no nosso artigo há que se compreender uma coisa relativa às performances anunciadas. E isso passa por se perceber que nem Microsoft e nem Sony vendem SSDs! Elas vendem… consolas!
Isso quer dizer que quando referem as velocidades dos seus SSDs, elas se estão a referir às performances dos seus produtos já devidamente enquadradas naquilo que é a realidade do seu hardware.
Isto é bem diferente da realidade do PC, onde vocês podem ler que o SSD é capaz de picos de X GB, mas depois quando o compram e usam, apercebem-se que a média sustentada é bem inferior ao referido.
Isso deve-se a uma enormidade de factores, tais como, por exemplo, a dimensão e quantidade de ficheiros lidos.
Ora esses valores de picos não são o que a Sony ou a Microsoft nos mostram. Estas marcas não estão a dar especificações brutas que depois podem ser alteradas mediante outros factoress.
Estes valores são valores reais médios de velocidade sustentada, medidos de transferências já com os SSDs enquadrados em todo o sistema e em pleno funcionamento com todas as características e capacidades do hardware.
Uma situação bem diferente e plenamente enquadrada naquilo que é a realidade do sistema vendido. Fazer a coisa de forma diferente seria o mesmo que um vendedor de SSDs referir a velocidade das memórias, sem tomar em conta a capacidade do controlador, e tal seria rapidamente conhecido após a venda do produto e em entrevistas de programadores, o que deixaria mal a consola, e poderia causar enorme impacto nas vendas.
Ou seja, quando, por exemplo a Microsoft nos diz que o seu disco transfere 2.4 GB/s, esta não é uma especificação que possamos comparar com as que lemos quando vemos uma publicidade de um SSD de PC. Este é um valor sustentado e esperado, que fica abaixo das reais capacidades do que o SSD pode alcançar como picos.
Isto torna-se bem claro quando consultamos os dados daquele que, supostamente, é o controlador do SSD da Xbox, um Phison PS5019-E19. Este é um controlador que é anunciado como sendo capaz de 3,7 GB/s de velocidade máxima de leitura. Ou seja, um SSD que, no PC, seria anunciado como tendo essa velocidade, mas que aqui na Xbox, porque o valor anunciado não é o do SSD, mas o valor espectável sustentado para este SSD já devidamente inserido no sistema, é menor.
E este é o primeiro ponto que se torna relevante compreender. Que estes valores não só são muito mais realistas, como eles são valores do SSD devidamente inseridos na consola, e não do SSD como uma peça isolada.
E pelos mesmos motivos, o SSD da Sony, ao ser anunciado como 5.5, também temos aqui um valor apresentado nas mesmas condições.
Parte 2 – A compressão de dados
A compressão de dados é algo essencial para os sistemas. Basicamente tendo um disco que lê os valores anunciados, a única forma de maximizar a sua capacidade de transferência de dados é passar esses dados transferidos por segundo para algo comprimido.
Neste caso, a velocidade dos SSD mantêm-se constante, ou seja, os valores não se alteram face aos 2.4 GB/s e 5.5 GB/s anunciados. Mas no entanto, dado que esse fluxo é agora em dados comprimidos, o que o sistema acaba por recepcionar é um valor muito mais alto.
E os valores vão depender da qualidade da compressão, bem como da capacidade máxima do sistema de compressão/descompressão, algo que nas presentes consolas deriva da capacidade dos seus blocos compressores/descompressores.
Ora para eles a Microsoft anuncia que a compressão média que consegue obter é de 50%, ou seja o seu SSD pode alcançar em média um total de 4.8 GB/s transferidos, e com um máximo teórico de 6 GB/s, dado que esse é o limite de capacidade do bloco compressor/descompressor.
Já a PS5 anuncia que em média os seus 5.5 GB/s. com a sua compressão/descompressão, alcança uma média de 8 a 9 GB/s, uma compressão que varia em média entre os 31 e os 39%, tendo um máximo teórico de 22 GB/s, o limite de compressão/descompressão do bloco.
Como se percebe, o SSD da Xbox ganhou aqui algo face ao da PS5. E isto deve-se ao seu sistema de compressão de dados, o BCPack, que é referido como sendo superior ao da PS5.
Recorde-se aquilo que advém do primeiro ponto. Estes são valores obtidos com o SSD devidamente integrado no sistema, e tirando total partido das suas capacidades.
E tal como é dito, o BCPack consegue compressões nas texturas de até 50%, mas o Kracken fica-se pelos 30 a 40%.
Ora analisando aqui estes valores, o que vemos é exactamente isso… a PS5 está a comprimir entre 31% (os 30%) e os 29% (os 40%), ao passo que a Xbox está a comprimir 50%. Exactamente os números que são referidos como as diferenças deste compressor.
Basicamente, se na transferência de dados não comprimidos, o SSD da PS5 era 2,29x mais rápido, ou 129% mais rápido, aqui, falando das médias, ele apenas se revela 60 a 80% mais rápido.
Ou seja, por aqui se percebe que o SSD da Xbox não é assim tão afastado do da PS5 como os números originais aparentavam, isto apesar que quando os dados são de outros tipos, e os compressores/descompressores alcançar valores mas perto dos seus máximos teóricos, a diferença entre eles pode ser de 3.66 vezes, ou 2,66 vezes mais.
Parte 3 – Porque motivo os valores da Xbox são ainda melhores do que parecem
Com a Xbox série X a Microsoft acrescentou uma nova capacidade ao seu GPU, que considerou como fazendo parte integrante do seu Velocity Engine. falamos do Sample Feedback Streaming, uma novidade que se estreia na Xbox série X, que não faz parte do Feature Set do RDNA, e que de forma não oficial é dada a entender como não fazendo igualmente parte do feature set do RDNA 2. É algo que nesta fase é um total exclusivo da consola da Microsoft, mas que não se sabe ainda se implementado por hardware ou por software, usando a componente Sample Feedback comum no actual hardware (abordaremos isso mais à frente).
O que é que faz o Sample Feedback Streaming? Bem, basicamente esta tecnologia está relacionada com as Parcial Resident Textures (PRT), ou seja, com a tecnologia de texturas parcialmente residentes!
As texturas PRT são texturas basicamente divididas em blocos. Imaginem que vão na rua e veem ao longe uma parede com uma bonita foto pintada. Mas conforme se vão aproximado vão-se apercebendo que a imagem é na realidade um conjunto de azulejos, e que é esse conjunto de azulejos que uma vez colocados lado a lado, criam a imagem final.
Este conceito de Tiled textures (texturas lado a lado) é o que está por detrás do PRT. Basicamente vocês leem a textura para a memória, mas caso a imagem não esteja toda visível, o sistema elimina os azulejos que não são visíveis, libertando assim RAM.
Esta é uma tecnologia standard em quase todos os actuais sistemas.
Ora o Sample Feedback Streaming (SFS) é um avanço face a essa tecnologia. Basicamente o principio é exactamente o mesmo, pois ela tem as PRT como base (Aliás o PRT é também conhecido como Sample Feedback, e é um standard nos novos GPUs). A diferença aqui é a sua aplicação especializada ao Streaming, caso em que o SFS analisa quais os “azulejos” que vão ser efectivamente precisos, e elimina os que não são precisos logo no momento da leitura do disco, evitando assim a sua leitura de forma desnecessária para a memória.
Mais detalhadamente:
As texturas possuem versões com diversas resoluções, os chamados “mip levels”. As texturas distantes tem pouco resolução, mas as próximas tem todo o detalhe e resolução.
Ao nos aproximarmos de algo a textura de alta definição é lida. O que por vezes acontece é que, para se poupar memória, a textura não é guardada na RAM e é lida directamente do disco.
Uma vez descomprimidas, estas texturas podem ter vários Megabytes.
Ora o que pode acontecer é que não se precise da textura toda, algo que acontece particularmente em objectos enviesados onde apenas uma parte está próxima de nós e o resto está mais longe.
Ora se só se precisa do canto da textura na resolução máxima, aparecem as texturas parcialmente residentes, pelo que somente essa parte da textura é lida, que agora nos ocupa, por exemplo, um quarto de megabyte.
Dessa forma só é preciso manter-se espaço na RAM para esse quarto de mega, assim como só se precisa de ler um quarto da textura.
A dificuldade aqui, e é isso que o Sampler Feedback faz, é descobrir qual a parte da textura que é precisa. Basicamente ele testa (sample) a textura e a unidade de feedback diz se o que foi lido é ou não uma zona onde a textura tem de estar em alta resolução.
Com esta resposta (feedback) inicia-se um pedido de streaming, que uma vez feito informa o GPU que a textura está no local. E isto pode ocorrer para as várias regiões da textura.
Quando a a leitura não é possível o GPU toma por defeito a textura de baixa resolução, até o SSD conseguir colocar a textura no local.
O que isto significa é que há aqui uma poupança na largura de banda da leitura, e desta forma os 2.4 GB de dados da Xbox podem ser optimizados não contendo informação que acabará como desnecessária.
Quais os ganhos reais desta tecnologia? É difícil de se prever. Se é certo que os ganhos são inegáveis, num jogo dinâmico, o que não é necessário agora pode ser necessário no fotograma seguinte, e daí ter alguma dificuldade em perceber a real vantagem desta tecnologia quando aplicada a um mundo livre, uma vez que se por um lado liberta largura de banda do SSD, e poupa memória por outro pode ter de a solicitar novamente.
Se é certo que no campo do uso da RAM os ganhos são claramente perceptíveis, já no caso do SSD não se sabe bem o que pode representar, mas torna-se claro que os ganhos podem existir.
Parte 4 – A questão é: Em quanto se traduzirão esses ganhos?
Se o aparente ganho de performances parece difícil de se negado, os reais ganhos na poupança de largura de banda num mundo aberto e de movimento livre são mais difíceis de quantificar. A Microsoft anuncia no entanto que esta característica pode duplicar ou até triplicar a quantidade de dados úteis transportados.
No entanto, apesar de não questionarmos a veracidade dessa afirmação, a quantificação do que será o ganho trazido torna-se difícil quando vemos que a Microsoft tem no seu Website indicações sobre como usar a funcionalidade de Sample Feedback dos GPUs, e uma característica actualmente standard nos novos GPUs, ao streaming.
Ou seja, a tecnologia pode ser realizada por software, e isso torna-se claro na própria documentação da Microsoft, presente aqui, sobre esse assunto, onde esta dá a entender que esta técnica pode ser usada em GPUs actuais com o suporte hardware de “Sample Feedback”, algo suportado por todos os GPUs actuais. Essa situação é confirmada com este documento da Microsoft que fala e explica como se usar essa capacidade num cenário de Streaming, bem como por James Stanard, programador da Microsoft a trabalhar na consola.
That being said, games have been streaming virtual memory pages for a while. It’s called Partially Resident Textures. Using Sampler Feedback to trigger page reads is sort of the “new hotness”.
— James Stanard (@JamesStanard) April 14, 2020
O que está então na Xbox? Uma implementação hardware ao estilo das Partially Resident Textures, que eram inicialmente obtidas por software e depois foram implementadas no hardware? Naturalmente a sua solução, será mais eficaz que a aplicação por software.
Mas mesmo tomando em conta a maior eficiência , perante a sua aplicabilidade por software torna-se difícil perceber quais os reais ganhos da Xbox face à PS5 nesse campo. Mas a realidade é que se eles existirem, e não temos porque duvidar disso, sendo que na ausência de algo semelhante na PS5 eles ajudarão a diminuir bastante a diferença entre as performances de transferência dos SSDs.
Daí que a questão real é: Será que o Sampler feedback streaming da Xbox é realmente exclusivo e a PS5 não o tem? Ou a Xbox apenas implementa mais uns filtros por hardware, sendo que sem eles a consequência é algum pop in ? Fica a questão no ar devido aos conteúdo que se segue (Nota: Para verem correctamente a totalidade dos tweets em dispositivos moveis poderão ter de activar a opção “Pedir site para computador”):
We have custom texture filters that I already mentioned. These are in hardware.
— James Stanard (@JamesStanard) April 14, 2020
Ok, so will that also increase effective VRAM by a factor of 2-3x similar to the XSX with DX12U compatible PC GPUs?
— Gamer1988 (@GamerGB1988) April 15, 2020
Acrescentemos ainda isto, vindo do Microsoft Game Stack, ou seja, um website oficial da Microsoft:
Segundo o conteúdo deste website, o Sampler Feedback contêm o SFS (para streaming ) e o TSS (Texture-Space Shading ) e, como já tinhamos dito, está disponível actualmente na sua capacidade máxima nas Turing, pelo que a dificilmente a AMD não a suportará no RDNA 2, especialmente agora que o DirectX a suporta.
Daí que o que realmente está na Xbox e o que vai valer face à PS5 é uma incógnita. Uma incógnita para a qual não temos resposta, mas que, pelas reações dos criadores de software, não nos parece que vire o cenário, mas que pode ajudar a mitigar a diferença.
Nota final: Esta comparação baseia-se apenas nos dados conhecidos de ambas as consolas, e tem em conta apenas a transferência efectiva de dados, não tomando em conta os níveis de prioridade dos SSDs, ou a latência e uso de largura de banda criada pela descompressão de dados, ou o sistema de Input/Output das consolas e que é diferente em ambas.