A compressão de texturas é uma situação que merece a atenção uma vez que estas são das situações mais pesadas a nível de conteúdo. E nesse sentido uma boa compressão não só permite melhores leituras, como menor espaço em disco.
Quando a Sony anunciou o Kraken, um engenheiro da Microsoft veio referir que, apesar de a Microsoft utilizar o Zlib, usava o seu compressor proprietário, o BCpack, para compressão de texturas, e que, quando o Kraken alcançava uma média de 20 a 30% de compressão, o BCpack poderia chegar aos 50% ou mais.
E desta forma, sendo as texturas o conteúdo maioritário, a Xbox série X teria vantagens na compressão.
Esta situação, que não era confirmada uma vez que nunca tinha sido revelado oficialmente o que o Kraken da PS5 suportava, ou que alterações teria tido, mas era certamente um ponto a favor da Xbox, que se agravava pelo facto de a PS5 já ter menor espaço em disco que a consola da Microsoft.
Mas agora a RAD Game Tools veio anunciar o seu novo Oddle Textures. Um compressor especializado e basicamente sem perdas, que trabalha exactamente no mesmo tipo de texturas BCn que o compressor da Microsoft (este tipo de texturas é optimizado para GPUs).
Vamos ver o que a RAD refere sobre ele:
O Oodle Texture é uma nova tecnologia que desenvolvemos na RAD Game Tools e que promete dramaticamente reduzir o tamanho dos jogos, reduzir o tamanho do que tem de ser descarregado, do que é guardado no disco, aumentando as velocidades de leitura e muito mais..
O Oodle Texture cria texturas optimizadas para o GPU do tipo BC1-7 que são muito mais compressíveis, de forma que quando preparadas para armazenamento e distribuição elas são muito menores. Até 2x mais pequenas. Muitos jogos tem o seu conteúdo neste formato, o que leva a um grande impacto no tamanho do jogo comprimido, que pode ir desde os 10 aos 50% a menos dependendo do conteúdo e de como o Oodle Textures é usado.
Um conteúdo mais pequeno tambem carrega mais rápido, pelo que ao melhorarmos o racio de compressão em 2x podemos efectivamente melhorar as velocidades de E/S (I/O) tambem em 2x. Isto é possível quando não há gargalos na descompressão, como quando se usa o super rápido descompressor Oodle Kraken, ou um descompressor hardware.
Na RAD já tinhamos desenvolvido o Oold Kraken, parte da familia de compressores de data Oodle, que fornece rácios de descompressão ultra rápidos, o que torna o Kraken optimo para cargas de dados quando se precisa de elevada velocidade. Mas o Kraken é genérico, funciona com todo o tipo de dados, e não tenta encontrar optimizações específicas para determinados tipos de dados. O Oodle Texture é capaz de diminuir enormemente o tamanho de um ficheiro comprimido pelo Kraken ao preparar as texturas de uma forma que as torna mais compressíveis.
Basicamente o Oodle Textures não precisa de existir nas consolas. Basta o suporte a um membro da família Oodle, como o Zlib ou o Kraken, para que ele funcione, uma vez que o que ele faz é preparar as texturas para que elas se mantenham optimizadas para o GPU, mas ao mesmo tempo mais compressível. E tudo com perdas de qualidade basicamente insignificantes.
Whee, Oodle Texture is (finally) out! It’s good.
— Fabian Giesen (@rygorous) June 16, 2020
Como exemplo, a RAD cita o seguinte caso que podem confirmar aqui:
Bloco de texturas comprimidas com um misto de formatos desde o BC1 ao BC7 – Tamanho: 127 MB
O mesmo pacote com compressão com o Zip/Zlib/deflate – 78 MB – Compressão de 38, 58%
O mesmo pacote com compressão Kraken – 70 MB – Compressão de 44,8%
Compressão com texturas preparadas pelo Oodle Textures pelo Kraken – 40 MB – Compressão de 68,5%
Compressão adicional no Kraken – 23,7%
Eis aqui uma textura BC7 comprimida com lambda 0, o normal do Kraken (onde se conseguiu 3,42% de compressão), e com Lambda 40, o máximo do Kraken após o Oodle Textures executado (onde se conseguiu 44.52% de compressão).
Lambda 0
Lambda 40
Como se vê, há uma enorme compressão, mas a perda de qualidade não é perceptível.
Agora a questão: Será que, tendo esta ferramenta sido anunciada apenas ontem, Mark Cerny quando referiu que a PS5 alcançava 8 a 9 GB de média em dados comprimidos, já tomou estes valores em conta?
A situação é aqui claramente bem diferente do caso da Microsoft, uma vez que o BCpack existe desde o DirectX 10, passando pelo DirectX 11 e DirectX 12, tendo agora sido implementada a sua descompressão por hardware na Xbox série X.
E sendo essa uma ferramenta Microsoft, com o hardware pensado para ela, torna-se coerente pensar que os valores anunciados de compressão já a tomam em conta.
Já na PS5, como referido a ferramenta só foi tornada pública ontem, pelo que a questão é coerente. E alguém a colocou!
E a realidade é que os rácios de compressão do Kraken, de acordo com os números oficiais, podem agora passar o 2:1 (50%+), quando antes eram de apenas cerca de 1.056 (1%).
non-RDO BC7 :
Kraken : 1,048,724 -> 990,347 = 7.555 bpb = 1.059 to 1
RDO lambda=40 BC7 :
Kraken : 1,048,724 -> 509,639 = 3.888 bpb = 2.058 to 1
E se tal fosse verdade, a PS5 teria um aumento incrível na performance do seu SSD, que passaria agora a ler algo entre os 11.5 e os 13 GB/s.
Mas será que isso é assim?
Não sabemos, mas há mais quem acredite que sim:
The Sony test sets I know of (that were used to eval the Kraken HW during development) were all assets from (now several year old) PS4 games. So that figure is probably on non-Oodle Texture data.
— Fabian Giesen (@rygorous) June 17, 2020
Esta situação aplica se à xbox tambem?
Em relação à series S, os rumores apontam 200 euros, discless e mais de 6 tf de gpu? Isto a ser verdade é absolutamente incrível, eu compraria essa versão por dois motivos, eu tenho uma tv 4k na sala mas nao jogo na sala, jogo noutra divisão e lá não tenho um ecra 4k ou seja nao precisava já de investir mais num ecrã, tinha uma experiência nextgen por 200 euros e o mais importante de tudo eu continuo achar que vao existir a ps5 pro e a xbox SX pro, portanto estaria a poupar agora para investir na maquina final no futuro.
Nao sei ate que ponto será verdade mas 200 euros? Só mesmo a wii conseguiu esses valores e a wii nao era nada mais que uma gamecube tunada e com controles de motion.
Não… a Xbox tem o seu BCpack, que supostamente era uma vantagem na compressão de texturas sobre a PS5. Mas com isto, ela desaparece e a vantagem até fica do lado da PS5 pois o Kraken bate claramente o Zlib, para além de ser incomparavelmente mais rápido a descomprimir.
Quanto à Série S a 200 euros, tenho muitas dúvidas: Repara:
Anda a Microsoft a alegar uma suposta defesa do cliente com os jogos Cross Gen, e de repente, uma consola como a One X que ainda se vende a 300 euros, seria vendia a que? 100? Porque 150 é caro se considerarmos que ela não tem futuro.
E a One S? 50 euros? Caro! 1/6 da potência X e já ultrapassada.
Ou seja, a Microsoft perderia dinheiro não só nessas consolas subsidiadas, como tambem nos stocks existentes. Parece-me muito pouco credível!
200 euros? Se a MS faz algo assim, já imaginou o prejuízo que tem que assumir?? Se ela vender o series x a 500 dólares já está num prejuízo bem grande para recuperar depois, imagina um séries s na mesma arquitetura, com 6 Teraflops e vendendo a 200? Eu não vejo como ela recuperar isso nem em médio prazo com serviços. Ora, o gamepass dão até em chicletes e aqui no Brasil é 1 real os primeiros meses. Galera fica fazendo várias contas para continuar pagando 1 real eternamente. A pergunta é: como essa conta vai fechar?
Mais um excelente artigo para começar o dia!
Bom dia a todos..
Nem quero pensar que seja verdade. Se for e uma outra bomba que vai levar a muita discusao. Uma coisa estou em crer, e espectavel a Sony estar informada da evolucao desses procedimentos por parte da RAD. Se nao atualizou as percentagens de compressao na sua apresentacao foi puro marketing mas com todo o veneno embutido. Vamos ver
Não me parece impossível que os testes da Sony sejam sem esta optimização. Porque a ferramenta ainda estava em desenvolvimento. Não estou a dizer que eram, nem que não eram, isso não sei dizer… mas que poderia muito bem ser, é uma possibilidade bem real.
Recordo que o video era feito para uma apresentação em Março de 2020 na GDC (que agora será em Agosto). Muito certamente contava com dados de 2019.
E ainda por cima temos este senhor, que refere que se bem se recorda os testes foram com as ferramentas da PS4.
Daí que considero que isso seja possível, e até credível.
Ate que ponto nao foi adiada esta informacao? Eu sei que posso estar a ser exagerado, as coisas ate podem nao funcionar assim. Ainda para mais ser um produto generalista. A Sony teria tanta influencia assim? So acho muita coincidencia a janela que agora se abriu. Passar os dados como sendo 8-9 GB (e ja agora com informacao correta com base nos testes efetuados ou seja nao ser mentira) e noutra futura janela de oportunidade dar a conhecer o upgrade por forca desta evolucao, temos que reconhecer que e um excelente ponto de venda. O que ontem era bom e vendido com tal, e mais importante assumido já por todos, podera passar para outro nivel. Nesse caso ja se imaginou a posicao da X. Nesse ponto de repente ficam sem posicao. Ja agora quem e esse senhor? tentei apurar mas sem sucesso. Obg
A informação do Cerny era relativa a dados do Kraken. O engenheiro da Microsoft referiu que o Kraken comprimia entre 20 a 30%, mas que o BC Pack era mais eficaz em 20 a 30% pois comprimia na ordem dos 50%.E efectivamente a Xbox passa de 2.4 para 4.8, ou seja comprime para metade do tamanho, 50%, duplicando assim a transferência.
Já a PS5 passa de 5.5 GB para 8 a 9, ou seja, se compromisse para metade seriam 11GB, mas 8 e 9 são mais 20 e 30%.
Exactamente os números que o Engenheiro referia.
Mas agora com isto a PS5 pode comprimir até 50% tambem, passando para 11 GB/s.
A questão é que a RAD dá exemplos onde o Kraken apenas comprimia cerca de 1% e agora passa os 50%. E nesses casos terias ganhos na ordem dos 13 GB/s.
A realidade é que tudo aponta para que realmente os valores indicados não contabilizassem este ganho. Porque há muitos indícios nesse sentido.
Quanto à posição da Xbox é a mesma que sempre foi. Mesmo super optimizado a Xbox só poderia transferir 6 GB/s comprimidos pois esse é o limite de pico do bloco descompressor.
A PS5 mesmo antes disto referia uma média de 9 e pico de 22.
E quando colocas um limite máximo de 22 quando estás a transferir 9 é porque contas ainda poder melhorar e muito a eficiência do disco.
O senhor é um programador, e é conhecido pelas suas demos de 4 e 64 KB onde metes mundos inteiros ali gerados em tempo real.
Trabalhou na Valve, não sei se ainda trabalha, e aparenta.ter um bom conhecimento desta parte da PS5 pois ele tem sido muito referenciado no Neogaf em outras situações.
Vê aqui os comentários onde tens outros tweets dele e onde ele aborda o mesmo assunto, mas noutra temática.
http://www.pcmanias.com/era-uma-vez-uma-historia-de-como-programar-apenas-para-um-hardware-tem-vantagens/
PS: Aparentemente ele poderá estar actualmente a trabalhar na RAD.
Sim os numeros que apontas fazem todo o sentido. Nao tinha pensado nisso. Obg pelo esclarecimento
Curioso, e quase o total da RAM disponivel para jogo.
Mas esses picos aí não vejo como ocorrer sempre. Já que todos os componentes tem que acompanhar. Serve para o ps5 e TB para Xbox. Do que adianta vc entregar mais rápido e o resto não ter capacidade de acompanhar sem alterações a nível de hardware? Na ps5 sabemos que eles tentaram soluções ao máximo para eliminar gargalos e será que fizeram pensando no pico dos 22gb/s ou no comum de compressão entre 8-9gb/s?o séries x ainda tem o agravante de ter que fazer check in. Será que vai acompanhar a compreensão que tem a mais em pico, ou é apenas marketing para dizer que não é mais de 50% menos veloz que o rival?
Basicamente é a RAM dinâmica que tens. Parte tem o sistema operativo e parte é o motor do jogo.
Mario
Parece que a Sony adquiriu uma licenca a Red Game Tools
“In the meantime, Sony’s top management has decided to make an interesting investment. To make it known is Red Game Tools, a company in the tech sector, which announced the purchase of its own license by the gaming giant. As you can see at the bottom of this news, Sony has in fact chosen to obtain a license to use Oodle Texture with which the software is made available to “all PlayStation 4 developers e PlayStation 5 “, which can therefore have automatic access.”
Não foi uma licença. Foi mais do que isso.
Foi uma licença para todos os que usarem isso na PS4 ou PS5.
A Sony vê vantagens aqui, e quer tornar isto um standard nas suas consolas.
Na apresentação o Cerny deu exemplos e não afirmou que vai ser o Kraken, falou que o suporta apenas. Ele TB deu exemplo de pico de SSD que pode chegar a 22gb/s. Ora, se a Microsoft correu atrás e depois da apresentação do Cerny veio com várias soluções para melhorar desempenho de SSD via software, é ingenuidade achar que a Sony não faria o mesmo e até já estava fazendo, né meu caro?
A pergunta que eu quero resposta é: O que a equipe do Xbox fez de melhor que a equipe do Playstation? Montaram um console como se monta um PC, para no poder bruto levar vantagem sobre um console tradicional? Pq não vejo essa equipe Xbox empenhada em entregar algo que realmente revolucione, apenas montando um console com melhorias pequenas em relação ao Pc.
Estás a querer dizer que a Xbox não tem pontos superiores à PS5? Se sim, estás enganado.
Pontos superiores: mais cu’s e o que mais, Mario? Mais teraflops que já sabemos. E mais o que? 100Mhz a mais na cpu? O que isos geraria de ganhos em relação ao concorrente na prática? Eu não vejo nada mais que um console feito como um PC, tendo um pouco de evolução por ser um console e outro que foi pensado para desempenho máximo. Os 12 Teraflops do Xbox series x serão alcançados algum dia? Acho bem difícil pela sua estrutura geral. Os 10 do ps5 serão atingidos? Acho bem mais fácil ficar sempre em torno dos 10TF se assim o desenvolvedor entender. O Xbox terá vantagens de performance? Ray tracing? Provavelmente. Mas a que ponto? Creio que serei incapaz de ver vantagens no console da MS a olho nu, sem uma lupa.
Tudo vai depender do conceito de jogo e do motor usado.
Num motor clássico a Xbox vai ter vantagem. 18%.
Mas seria 18% de que, Mario. Ora, sabemos que o Xbox não vai chegar nesses 18%, pois ele se limita e vai ter gargalos, coisa que o ps5 não tem, ou melhor, fizeram o máximo esforço para remover gargalos. Se a gpu e cpu tem mais folga que o xbox, e sabemos que tem, e tudo que foi otimizado no console, eu não vejo como o Xbox ter 18% de vantagem na prática, só no papel mesmo. Mesmo com um.motor clássico o ps5 pode se sair bem e igualar performance.
Independentemente, a Xbox tem mais poder de processamento paralelo e tem mais largura de banda.
Se vais ter vantagens grande é difícil de dizer, mas que vais ter vantagens em alguns jogos isso é inegável.
Quanto aos,gargalos, sabemos que eles existem, mas a Microsoft tambem tem obrigação de o saber. Se eles não foram ultrapassados (e convêm não esquecer que estamos perante uma consola, pelo que podem existir soluções não standard), isso foi incompetência dos seus engenheiros. E até custa a crer.
No caso da One, a coisa desculpa-se. A PS4 era suposto ter 4GB, e foi um golpe de sorte que alterou isso. A solução da Microsoft foi criada para superar esse limite.
Mas agora não haveria desculpa nenhuma. Bastava usar menos módulos e todos com 2 GB, pelo que custa a acreditar que não haja uma solução tal teria sido a incompetência.
Mario, eu queria ter esperança como vc. Mas a equipe Xbox já demonstrou durante toda a história que montam um console pensando em Pc. Eu não tenho dúvidas que o console tem 12 teraflops para chegar a 10.
O console tem 12 Tflops… Ponto.
A PS5 pode ter mais facilidade em chegar aos 10 do que a X aos 12. Pode até conseguir chegar mais facilmente aos 10 do que a X aos mesmos 10.
Mas não tem 12 e nem nunca terá.
Muito interessante.
isso abre espaço para ainda outras melhorias futuras.
Oi Mário, ótimo artigo.
Como sugestão de temas, o Matt Hargett (ex-engenheiro do Ps5) tem compartilhado vários tweets interessantes, e agoramesmo ele compartilhou sobre VRS, dizendo que 1800p é uma boa resolução para renderizar nativamente, e depois aplicar técnicas como VRS sobre o restante.
https://twitter.com/syke/status/1274079636264112128?s=20
https://twitter.com/syke/status/1274085023386202112?s=20
https://twitter.com/syke/status/1274086328628424704?s=20
Interessante. Render nativo é realmente deitar performance fora. 1800p como o sweet spot é um dado interessante.
E sim, o VRS é uma forma de poupar processamento, basicamente ele cria shaders de menor precisão e qualidade nas zonas do ecrã para fora do local onde se encontra a acção.
Pessoalmente acho-o pior que o checkerboard (que é algo diferente mas tem o mesmo intuito de poupar processamento), pelo facto que o VRS nota-se e tem impacto na qualidade visual.
tem um exemplo de jogo que eu tenho certeza que o VRS iria ajudar.
HZD, repare que na bordas da tela, e principalmente na borda inferior, tem muito motion blur.
se usar VRS ali, ninguém vai notar.
Tenho esquecido de avaliar os artigos rs.
Abraço.
Uma situação interessante que está ficando mais clara nos últimos dias é que o PS5 e o Xbox Series X têm vantagens significativas em relação ao outro em diferentes áreas, mas ambos são peças incríveis de hardware nas quais os desenvolvedores parecem estar bastante animados para trabalhar. Só temos que esperar que ambos revelem mais detalhes sobre seus consoles de última geração em um futuro próximo. A Sony não sei quando pode revelar mais detalhes, mas a Microsoft já tem uma conferência agendada para revelar detalhes da arquitetura do sistema Xbox Series X, no simpósio Hot Chips no dia 17 de agosto com Jeff Andrews e Mark Grossman.
Esperemos é que seja melhor que o anterior de 2013.
Até porque nesse hot chips de 2013, apareceram muitas informações numéricas que impressionava , que não se confirmaram ser uma mais valia, acaba do por ser mais marketing do que outra coisa.