Passar para o conteúdo principal

Microsoft irá dar mais poder GPU aos programadores Xbox One

Reservas do Kinect e aplicações ficarão acessíveis aos criadores de jogos.

A Xbox One reserva 10% dos recursos gráficos para Kinect e aplicações, pode o Digital Foundry confirmar, e a Microsoft planeia abrir este adicional poder GPU para desenvolvimento de jogos no futuro. Isto, e mais informação sobre gráficos e performance foi revelada durante as nossas longas conversas com os dois arquitetos por detrás do silício Xbox One.

"A XO tem uma reserva conservadora de 10% na GPU para processamento do sistema. Isto é usado para o processamento da GPU para o Kinect e para a renderização do conteúdo concorrente do sistema tais como o modo snap," disse-nos Andrew Goossen, técnico na Microsoft.

"A atual reserva providencia um forte isolamento entre o título e o sistema e simplifica o desenvolvimento de jogos - um forte isolamento significa que as cargas de trabalho do sistema, que são variáveis, não perturbam a performance da renderização do jogo. No futuro planeamos abrir mais opções aos estúdios para acederem a este tempo de reserva GPU enquanto mantém completa funcionalidade do sistema."

Assim que ultrapassas a surpresa inicial que o sistema de fundo consome tanto do tempo GPU para começar, a noção de ser capaz de dar aos programadores acesso a este recurso sem comprometer a funcionalidade pode soar como ter o bolo e comer, mas a Microsoft salienta aspetos particulares do equipamento GPU que tornam possível este cenário.

"Em adição a filas computacionais assíncronas, o equipamento XO suporta duas condutas de renderização simultâneas," assinala Goossen. "As duas condutas de renderização podem permitir que o equipamento renderize conteúdo do título em alta prioridade enquanto renderiza em simultâneo conteúdo do sistema em baixa prioridade. O organizador da GPU está desenhado para maximizar a passagem e preenche automaticamente 'buracos' no processamento de alta prioridade. Isto pode permitir que a renderização de sistema faça uso dos ROPs por preenchimento, por exemplo, enquanto o título está ao mesmo tempo a fazer operações computacionais sincronizadas nas unidades computacionais."

Tendo tentado abordar compreensivamente questões sobre a ESRAM e a largura de banda da memória do sistema da arquitetura, o problema do défice na taxa de preenchimento e ROPs da XO comparada com a PlayStation 4 está agora debaixo de inspeção. ROPs são elementos da GPU que escrevem fisicamente a imagem final com informação de pixel, vetor e texel: é sabido que as 32 ROPs da PS4 são genuinamente exageradas para resolução 1080p (a arquitetura da AMD nunca foi desenhada exclusivamente apenas para full HD mas para outras resoluções tais como 2560x1400/2560x16000, enquanto as 16 ROPs da XO podem na teoria ser sufocadas pelos programadores.

Na nossa entrevista, a Microsoft revelou a pesquisa que levou a cabo e sugeriu que o aumento de 6.6% na velocidade do relógio da GPU foi mais benéfica para o sistema que duas adicionais unidades computacionais AMD Radeon Graphics Core Next. A nossa questão foi bem direta - quais os resultados destes testes obtidos pelo código a saturar as ROPs?

"Escolhemos deixar aos criadores fazer a contra-partida de resolução vs. qualidade por pixel de que maneira considerarem mais apropriada para o seu jogo. Uma resolução menor significa no geral que pode haver mais qualidade por pixel."

"Sim, algumas partes dos fotogramas podem vir da ROP. No entanto, nas nossas mais detalhadas análises descobrimos que porções de fotogramas de conteúdo de jogo típico que estão vinculados à ROP e não vinculados à largura de banda são no geral muito pequenos. A razão principal de o aumento de 6.6% na velocidade do relógio ter sido tamanha vitória sobre duas CUs adicionais foi porque aumentou todas as partes internas na conduta tais como rácio de vértice, rácio triangular, rácio de problema de distância ect," explica Goossen.

"O objetivo de um sistema 'equilibrado' é por definição não ser consistentemente afunilado em qualquer área. No geral com um sistema equilibrado raramente deverá existir um funil no curso de qualquer fotograma - partes do fotograma podem estar vinculados à taxa de preenchimento ao invés de ALU, outros podem ser por procura, outros pela memória, e outros pela onda de ocupação, outros podem ser pelo esquema de desenho, outros podem depender do estado, ect. Para complicar ainda mais as coisas, os funis na GPU podem mudar no decorrer de uma única chamada!"

Óbvio que temos que dizer que ter mais ROPs para uso é preferível, mesmo se ficarem na sua maioria sem uso - e é isso que a PS4 oferece. A opinião da Microsoft é que o seu esquema de equipamento não será necessariamente capaz de fazer uso deles mesmo se estivessem lá.

"A relação entre a taxa de preenchimento e largura de banda da memória é um bom exemplo de onde é necessário equilíbrio. Uma alta taxa de preenchimento não ajuda se o sistema de memória não conseguir sustentar a largura de banda necessária para correr nessa taxa de preenchimento," diz Goossen.

"Por exemplo, imaginem um cenário de jogo típico no qual o alvo do renderizado é 32bpp (bits por pixel) e a mistura está desativada, e a superfície profundidade/matriz é 32bpp com Z (profundidade) ativada. Essa quantidade para 12 bytes de largura de banda precisa por pixel desenhado (escrita de 8 bytes, leitura de 4 bytes). No nosso pico na taxa de preenchimento de 13.65GPixels/s isso soma 164GB/s de real largura de banda que é precisa o que basicamente satura a nossa largura de banda ESRAM. Neste caso, mesmo se duplicassem o número de ROPs, a efetiva taxa de preenchimento não teria mudado porque teríamos afunilado a largura de banda. Por outras palavras, equilibramos as nossas ROPs para a nossa largura de banda para os nossos cenários alvo. Tenham em conta que a largura de banda também é precisa para os nossos dados de vértices e texturas, que no nosso caso vem tradicionalmente da DDR3."

O nossa posição sobre a situação das ROPs é que apesar destes números fazerem perfeito sentido, existem muitos outros cenários que podem ser potencialmente desafiantes - passagens apenas de profundidade, sombras, teste alfa e pré-passagem Z por exemplo. Mas de uma perspetiva do utilizador, o facto é que nativos 1080p não são suportados em principais títulos internos como Ryse e Killer Instinct. Presumindo que este não é um problema de rácio de preenchimento de pixel como a Microsoft sugere, pelo menos isto afeta o argumento do sistema equilibrado?

"No futuro, planeamos abrir mais opções aos programadores para acederem a esta reserva de tempo GPU enquanto mantém toda a funcionalidade do sistema."

"Escolhemos deixar os programadores decidirem as contra-partidas da resolução vs. qualidade por pixel de que considerarem mais apropriada para o seu jogo. Uma resolução menor geralmente significa que pode haver mais qualidade por pixel. Com um conversor de alta qualidade e anti-aliasing e resoluções de renderização tais como 720p e '900p', alguns jogos podem ter melhor aspeto com mais processamento GPU indo para cada pixel ao invés do número de pixeis; outros tem melhor aspeto a 1080p com menos processamento GPU por pixel," responde Goossen.

"construímos a XO com um conversor de maior qualidade que o da 360, e adicionamos um plano de visão adicional, para providenciar mais liberdade aos programadores nesta área. Esta questão de escolha foi uma lição aprendida na 360 onde no lançamento tivemos um mandato Technical Certification Requirement que todos os títulos tinham que ser 720p ou melhor com pelo menos 2x anti-aliasing - e mais tarde acabamos por eliminar esse TCR pois achamos que era melhor permitir aos programadores decidir por si próprios a resolução. Os criadores de jogos são naturalmente incentivados a criar os visuais com a melhor qualidade possível e portanto vão escolher a contra-partida mais apropriada entre a qualidade de cada pixel vs. o número de pixeis nos seus jogos."

Uma fonte bem posicionada com uma história estabelecido na experiência AAA multi, atualmente a trabalhar com equipamento de nova geração, foi bem mais pragmático na sua avaliação da situação 1080p.

"Provavelmente iremos ver muitos jogos sub-1080p (com conversão por equipamento), mas isto provavelmente deve-se a falta de tempo para aprender a GPU quando o ambiente de desenvolvimento, e por vezes as velocidades do relógio, estão a mudar," disse a nossa fonte, referindo-se ao "mono driver" da XO em evolução e ajustes de última hora ao equipamento.

"Se um estúdio lança um jogo sub-1080p então é porque não o conseguem por a correr a 1080p? É porque não tem a capacidade ou experiência interna? Ou é uma opção de design para que o seu jogo corra num rácio de fotogramas mais estável para o lançamento?"

Iremos publicar toda a entrevista com os arquitetos Xbox One neste fim-de-semana, cobrindo todos os tópicos incluindo o post-mortem à Xbox 360, a abordagem da Microsoft à computação GPU, a inovadora abordagem à virtualização, a escolha de arquitetura CPU e mais, muito mais. Mais de 7,500 palavras no total, e uma leitura essencial para qualquer um interessado na constituição tecnológica da consola de próxima geração da Microsoft.

Lê também