Encaminhar para o passado. TBDR - o poder que somos

Sim, esses caras!


A Imagination Technologies é uma das poucas que provaram que, neste mundo, você pode definitivamente existir em duas entidades ao mesmo tempo: na sombra e no lucro. Se alguém sabe como otimizar a renderização de uma cena 3D, a Kristof Beets sempre sabe mais. Nos "últimos anos", o homem era o rosto do PowerVR (uma divisão da Imagination Technologies envolvida no desenvolvimento de chips gráficos 3D) e nos contou como ele, junto com algumas pessoas, criou uma nova maneira de renderizar. Nas brochuras que pontilhavam todas as revisões de placas de vídeo com base em seus chips, sempre se podia encontrar uma explicação muito grosseira do método de renderização tradicional e de sua brilhante evolução - a renderização de blocos, que trovejou tanto em 2001 que ... você não ouviu? Mas estava barulhento !

Pipeline 3D como era


Hoje na mesa de operações temos ... quem você acha?



Série PowerVR 3 ! Ah, sim, abriremos corretamente, mas primeiro um pouco de história. Na época em que entrou no mercado, ele teve que competir com gigantes como o ATI R100 e o NVIDIA Giraffe 3 . Essas eram decisões sérias, mas o PowerVR não competiria por megahertz. De acordo com o PowerVR, os dois desenham gráficos 3D com o método tradicional pouco promissor estabelecido , ou podem ser chamados de renderização em modo imediato . Para entender como é, teremos que perturbar um conceito como um pipeline gráfico (a seguir denominado pipeline 3D ).
Pipeline 3D?
! , …

3D- - . : , ? 3D- (3-Dimensional Modelling) ( ), : xyz . (space), . - ,- . , , - …

, () () 3D- — . :


3D- , .

, , ( ) (3D-). 3D- — 3D- (, ).
, 3D- , , 3D-, .

() . 25 ( FPS — Frames per Second), , .

: VSync, fps . , HDD, CPU RAM. — , FPS. Unreal 3D-, , , , .
- FPS = 60, , FPS = 25. 60 , FPS > 60. , ;)


Pipeline 3D clássico através dos olhos do PowerVR

Bem, voltando à nossa renderização no modo imediato de gado (daqui em diante - IMR ). Ao longo dos anos de sua existência no mercado, as placas de vídeo para PC PowerVR nos deram um recorte do pipeline 3D clássico usado nas placas de vídeo IMR :

imagem

Se você acredita no esquema, o pipeline 3D clássico é exatamente o seguinte :
O aplicativo gera um quadro com polígonos na RAM e o entrega à placa de vídeo para alimentação. Cada polígono na gpu é primeiro rasterizado e texturizado, e só então há uma verificação de sobreposição com outro polígono na cena. Ou seja, em essência, acontece que podemos primeiro preparar uma árvore complexa em nossa memória, depois preparar a mesma pessoa complexa e só então perceber que uma pessoa cobrirá quase completamente toda essa árvore. Sim, IMR é de alguma forma ineficaz. Acontece que o excesso é excessivo .

O que o PowerVR oferece

E o PowerVR nos oferece este ano: " Pense antes de começar a renderizar! ".
Parece tão simples! Só precisamos trocar os dois primeiros estágios da imagem.

imagem

Mas, por trás de tudo isso, existe um grande problema: naquela época, todo o pipeline 3D era conectado aos chips no hardware (da geometria à saída do buffer de quadros). Portanto, o PowerVR em seus chips mudou drasticamente o pipeline 3D, ao mesmo tempo que inventou seu próprio método de renderização: Renderização diferida baseada em blocos !!! A palavra-chave Adiada , porque havia, por exemplo, placas de vídeo Intel GMA que usavam a Coined Zone Rendering , que também é essencialmente baseada em bloco.

A Intel usa um conceito semelhante em suas soluções gráficas integradas. No entanto, seu método, renderização de zona cunhada , não realiza remoção total da superfície oculta (HSR) e texturas adiadas, desperdiçando a taxa de preenchimento e a largura de banda da textura em pixels que não são visíveis na imagem final.
...
en.wikipedia.org/wiki/PowerVR

E de fato ...


... é claro, não era bem assim. Nomeadamente:

  1. (1995 — 2000 .) IMR TBDR , . 2001 PowerVR, , . IMR- , , , , 3D- . , , , z-buffer'.
    2001 , HyperZ ATI Lightspeed Memory Architecture NVIDIA. , overdraw , !

  2. , , PowerVR . 3D- IMR (. 3D- PowerVR) , 2 ( NSR). 2001 (ATI R100, NVIDIA 3) , « » 3D-.
    , TBDR !


Pelas razões acima, o PowerVR caiu novamente nas sombras e seu destino posterior estava em outro segmento (olá para os proprietários do iPhone). Mas de que era realmente o chip PowerVR Series 3, as placas nas quais nunca chegamos até nós?


Pelo canto do meu olho


Quando se trata de raridades, como cartões PowerVR, você precisa se contentar com o roubo. Ou seja, não haverá caras destorcidas como o Videologic Vivid! ou Hercules 3D Prophet , mas haverá, por exemplo, algo assim: Na foto, há uma placa de vídeo AGP SUMA Platinum K2 no último chip lançado do PowerVR no segmento de PC - PowerVR Série 3 . Todos esses cartões foram feitos de acordo com o mesmo design de referência, mas neste coreano não há inscrição no PowerVR, da qual os ignorantes poderiam passar. O cooler aqui é da Asus, porque todas essas placas tinham coolers de baixo perfil muito barulhentos, o que logo lhes ordenou que durassem muito. Além disso, agora todos os detalhes do mapa estão no lugar :) No mapa, atualizei o BIOS mais recente .

imagem







Parece que o cartão ainda não passou de 5500 vodus: todos os mesmos 350Mtexels, memória SDR de 64 metros, pipelines de 2 pixels, DX6 (e, como resultado, a completa ausência de shaders), o mesmo AGP2x com banda lateral (e sem pães) ... mas parece apenas .

Mais perto do coração


imagem

O próprio chip PowerVR Series 3 nasceu em 2000 . Este já era o terceiro fenômeno (vamos omitir a revisão) para as pessoas, que pela primeira vez coroaram algo. Aparentemente, o chip foi tão bem-sucedido que conseguiu herdar novamente a história já em 2004: uma certa empresa Pixel Perfect fez um cartão nele (além disso, de acordo com o design de referência e novamente com um cooler, que já se foi e, sim, isso também teve que ser reparado). Portanto, a autópsia dela mostrou que o chip não é o PowerVR Series 3 . Então, sente-se, aqui você precisa falar sobre o agora verdadeiramente lendário triângulo das Bermudas: Imagination Technologies - PowerVR - STMicroelectronics

imagem

. Esse triângulo definitivamente estava lá, mas nenhum de nós o conheceu, e agora definitivamente não está. A lenda diz que, naqueles anos, o PowerVR não era uma divisão da Imagination Technologies, mas simplesmente uma marca (que eles possuíam) para várias tecnologias. Bem, a notória STMicroelectronics comprou uma licença da Imagination Technologies e rebitou os chips com essas inovações em suas capacidades. Porque a Imagination Technologies não tinha instalações próprias. É difícil até dizer qual dos dois realmente surgiu com o nome KYRO (mas pode-se argumentar que este é um derivado do Cairo (Cairo)). Bem, especificamente, este chip STG4500-X (no povo do KYRO II ) é o PowerVR Series 3 .
Bem, isto é, como você entendeu corretamente, havia pelo menos mais uma encarnaçãoO PowerVR Série 3 - STG4000-X (ou KYRO I ), que era essencialmente idêntico ao KYRO II, só funcionava com uma frequência mais baixa ...

... Mas o interior do KYRO II já está sobre a mesa e fica congelado:

  • O chip possui apenas dois pipelines de pixel, mas eles sempre funcionam, por isso não importa se a multi-extensão está ativada no jogo ou não. Assim, os Mpixels aqui são iguais aos Mtexels ( sim, como no vodu ;)).

  • , . , — , .
    , Tile Based Deferred Rendering ( — TBDR), . , :

    … FPS . ? TBDR — 3D-, . ? ( IMR-), KYRO, TBDR, (display lists). KYRO , , , , . .

    ...
    Kristof Beets TBDR:

    , , PowerVR KYRO (), 1632px 3216px 32x32px .. . PowerVR KYRO tile-buffer . Tile-buffer , . 3D- :

    1. Tile Binning (Sorting).
      . , ( — ) , (Z) . KYRO .

      image

      . , . tile-buffer', , , . tile-buffer' . .

      image

    2. The Hidden Surface Removal Algorithm
      . , , , ( Z). , , ( ). , , , , , .
      , tile-buffer' №43. , , №43. . Z ( , ) , . tile-buffer', , - , , ( Z). , .

      image

      , . (-___) . , , tile buffer . PowerVR .

    3. Rendering
      , . Display List Rendering:

      image

      KYRO , , PowerVR.
      1 ( 60)




  • , PowerVR 8 , , . 2001 , , , , , EMBM. , , , ? , , , , , TBDR, ?

  • OGSS super-sampling anti-aliasing 4x, , PowerVR . , , - . , 16xAF , ?

  • , ? , , KYRO II AGP4x , , , , . , 5 .


Mas aqui você está olhando, olhando e ... não encontra. É isso mesmo, ah e ah, a transformação e iluminação de hardware (a seguir - HW T&L ) também não está aqui. E aqui está o porquê (recorte as perguntas frequentes do arquivo on-line do powervr.com ):
KYRO e T&L

“Sem hardware T&L? Você deve estar brincando! "

De fato, os hardwares KYRO e KYRO II não suportam T&L de hardware. Embora essa escolha possa surpreender, existem boas razões por trás dessa decisão.

The truth is that most games available at the moment are fill-rate limited. As frame rate and resolution increase the graphic hardware reaches a point where it cannot transfer data as fast as the CPU would like to. This is the famous memory bandwidth problem. While the graphic hardware struggles, the CPU is idle waiting for the next frame to finish rendering. Why waste this precious CPU time when it could be used to handle transformations? As an example, consider a game at 1280x1024x32 resolution running at 60 frames per second. We’ll assume a depth complexity of 3 for this game, although this figure could easily be higher as games get more complicated. The fill-rate requirement for this game is 1280x1024x4x60x3 = 943 Mpixels/sec. This figure is at least twice the real fill-rate of other hardware, which means the game is fill-rated limited. Quake 3 Arena is fill-rate limited in this situation.

O KYRO II foi projetado para ser uma parte importante e incluir uma unidade de T&L não apenas custaria mais, mas também não melhoraria o desempenho na maioria dos casos (dependendo de CPUs e jogos). Haverá um tempo em que o T&L de hardware melhorará significativamente o desempenho, mas ainda não é agora. Se um jogo já tiver uma taxa de preenchimento limitada, adicionar T&L ao hardware não o tornará mais rápido!

Bem, isto é, se a Nvidia decidiu acelerar a parte geométrica do pipeline 3D, o PowerVR acelerou o resto .

Implementação


Atrevo-me a agradar: o KYRO é treinado no Windows XP! (2001, afinal, é hora de Longhorn já estar). Então eu fugi do Tubo do Milênio com medo! Pelo qual ele recebeu uma oportunidade completa de monitoramento de OSD em jogos através do novo MSI Afterburner , além de uma interface humana e estabilidade do sistema operacional. É verdade que você não pode mais sair da tela azul, é claro que isso é um sinal de menos ...

No entanto, não havia lenha embutida no Windows para KYRO. Mas, por outro lado, o PowerVR em si tinha dois: o último e o último beta ( assim como 3dfx, sim ... ). É assim que este último se parece:

  • Na guia principal, há overclocking :)



  • OpenGL com Pretzels



    Quem não entendeu, F1




  • Direct3D com pãezinhos



    F1





Pela abundância de pães e biscoitos, fica óbvio que o TBDR não está indo bem com os jogos. Mas os desenvolvedores de lenha já cuidaram dos mais populares. Sim, isso mesmo, nos drivers, você definitivamente encontrará um arquivo avisando ao Windows que o aplicativo porsche.exe precisará de um coque (e um pretzel!), Mas não isso:



na última versão beta desses aplicativos (e jogos), havia mais de 100 ...
... infelizmente, nas maravilhosas noites árabes à direita do sabre, parece haver um menu:



Aqui KYRO você não pode apaziguar com pães; e poderia ter havido muitos desses jogos? E tudo por que: no início do surgimento do DirectX como um padrão de fato, muitos desenvolvedores implementaram as técnicas de renderização 3D mais loucas por conta própria. Então, o que funcionou? Sim, em cartões IMR, cujo pipeline 3D não sofreu alterações desde o nascimento até 2000. Mas o KYRO com seu TBDR ainda é melhor para usar em jogos pelo menos da era DirectX6.

Além disso, o esqui não vai ... Considerando que ambas as minhas placas estão após o reparo, uma com BIOS costurado e a segunda com BIOS personalizado de 2004, provavelmente o segundo. No entanto, os mesmos problemas nos dois cartões: você define uma resolução e outra (e qual depende da versão da lenha). Assim,Não consegui definir 1280x1024 em 3D sob nenhuma condição em nenhum dos cartões.

Nível de aplicação




ATENÇÃO, Configuração:

MB: Gigabyte 6vtxe (chipset Apollo Pro133T)
CPU: Pentium 3-S 1.4Ghz / 512Kb / 133FSB
RAM: 3x256Mb PC133
HDD: UDMA-5 WD saudável com um cache de 2 MB decente e 5400RPM
WinXP SP3
Vídeo: Vídeo do PowerVR KYRO : IIVR KYRO : II

IMPORTANTE:
  • Veremos Deus Ex , por uma questão de justiça (bem, para que possa ser comparada com revisores anteriores). No entanto, esteja ciente de que, devido à arquitetura do chip (TBDR), os resultados, por exemplo, no Quake 3 serão completamente diferentes em termos de desempenho. Isso se deve, em grande parte, à peculiaridade dos jogos e seus mecanismos: em algum lugar um grande overdraw (2-3) e x4 em várias estruturas, e em algum lugar apenas um monte de polígonos, mas quase nenhum overdraw.
  • Configurações gráficas no jogo: cores máximas , todos os tipos de raios trilineares e volumétricos por lá!
  • Configurações de lenha ... bem, vamos experimentar!
  • Não faz sentido fazer overclock em uma placa ; essas placas praticamente não fazem overclock (novamente, devido à sua arquitetura).


Então, vamos mais rápido pela tecnologia ...

API

  • Direct3D. , DirectX7. , DirectX6, , - , HW T&L ( 3dfx, ...). - .



    , 5, , , . :



  • OpenGL. : ICD. — ! , :



    - .

  • PowerSGL Direct. ,- PowerVR, :

    Infinite planes effects were not part of Open APIs and full capabilities of PowerVR can be exploited only through proprietary SGL. The API also supported data instancing to save memory by avoiding duplicates of materials, transformations and objects.

    vintage3d.org/pcx1.php

    KYRO , , Infinite planes , data instancing OGL / D3D.

    SGL2.dll ( !). , PowerSGL Direct2 ( , : SDK ). , PowerSGL SGL.dll, , . Unreal ( SGL):



    SGL.dll(e arquivo acompanhante) de lenha para o PowerVR Series 2 - aproximadamente o mesmo resultado. Acontece que o PowerSGL Direct foi descartado, mas por que então terminar o PowerSGL Direct 2 ? Enfim, se você quer jogar o belo Tomb Raider - compre PCX2 ...


Colorfulness

Além do suporte completo para cores de 32 bits e até a capacidade de trabalhar em 24 bits ...



... KYRO possui um recurso arquitetônico interessante: todo o pipeline 3D funciona o tempo todo em cores de 32 bits. É SEMPRE. Isso significa duas coisas:
  1. Ao alternar para cores de 16 bits, não ficará mais rápido.
  2. A qualidade da imagem em cores de 16 bits é ainda mais alta que a do 3dfx elogiado com sua cor de 22 bits. E tudo porque, de acordo com os cânones do TBDR, a conversão de um quadro de 32 bits para 16 bits é feita apenas uma vez - na saída. Enquanto o IMR no modo de 16 bits, com cada nova sobreposição, por exemplo, textura em textura, a textura é convertida de 32 bits para 16 bits.

No entanto, proponho levar um estilo de vida saudável para viver no mundo colorido de Trukolor do que pegar falhas e distorções. Afinal, agora é grátis! (a propósito, as fotos são finalmente clicáveis ) A diferença de velocidade (abaixo do texto em branco FPS), observe que é raro.







O mais interessante. atuação

Depois de toda essa palestra, uma pessoa simples levanta uma pergunta simples: "tudo isso poderia ser mais rápido que as girafas com os Radeons?" De fato, se você não entrou em detalhes, tudo dependia do caso :) Vou me citar:
Devido à arquitetura do chip (TBDR), os resultados, por exemplo, no Quake 3 serão completamente diferentes em termos de desempenho. Isso se deve, em grande parte, à peculiaridade dos jogos e seus mecanismos: em algum lugar um overdraw enorme (2-3) e multitexturingx4, e em algum lugar apenas um monte de polígonos, mas quase nenhum overdraw.


Anti-aliasing de cena completa (FSAA)

Limpa as escadas em linhas inclinadas. Esse chip implementa três tipos de FSAA usando o método OGSS:



Mas mesmo aqui, tudo não é fácil. Como afirmei com responsabilidade acima, a configuração de 1280x1024px no KYRO II não é possível (na verdade, acontece muito mais). Inicialmente, decidi que, nesse caso, você pode se contentar com uma resolução de 1280x960, pois 64 pixels de altura não é a maior perda.
No entanto, uma surpresa me esperava aqui . Acontece que em altas resoluções horizontais (quando a horizontal é maior que 1024px), as opções FSAA 2x1 e 2x2 (isto é, quando a imagem é dobrada horizontalmente) não funcionam. Porque o chip não sabe trabalhar com resoluções horizontais maiores que 2048px.

Então, para iniciantes, vamos ver como o FSAA funciona na resolução de 1024x768 . Na figura, observe o pseudônimo (escada) nas pernas verticais das cadeiras na mesa e o pseudônimo de linhas horizontais nas luminárias (ou na mesa): Talvez algumas pessoas especialmente atentas tenham notado que o FSAA horizontal remove as escadas na vertical , e não na horizontal. E vice versa. Como me disseram abaixo (obrigado,









MrShoor): o FSAA horizontal aumenta a resolução horizontal da imagem e, portanto, remove as escadas verticais.

O que se pode notar é que (o quê?) Ao contrário de muitos rumores da FSAA, o nifiga não é gratuito e o FPS diminui acentuadamente com um grau crescente. Ou seja, tudo está como sempre aqui: você quer? Pagar! Este é o primeiro.

E em segundo lugar, de fato, a qualidade dessa mesma FSAA, digo-lhe ... como através de vidro sujo. Ainda não há nada em jogo, e você o puxa em toda a tela, entenderá imediatamente (hoje todo navegador tem uma carruagem). Além disso, como você entende, pode suavizar um lado ou ambos; 2 amostras de ambos os lados (como 3dfx) não podem ser passadas a ferro. Não, no entanto, eles dizem a verdade, o OGSS está longe de ser o RGSS, que foi usado no vodu5.

Filtragem Anisotrópica (AF)

Este é o desenvolvimento do trilinear. Você não seleciona um diploma, ele simplesmente existe :) Para entender o que está fazendo, observe o padrão de repetição na parede esquerda e como ele é claramente visível com o aumento da distância da câmera do jogador (sim, um exemplo sombrio, você precisa olhar sem iluminação): quem quer entender como ela (AF) faz isso, lê aqui .







FSAA + AF

Bem, é claro, você e eu precisamos entender como o cartão vai acompanhar tudo isso. E aqui:

1024x768 . Aqui você ainda pode fazer um FSAA completo, por assim dizer. Vamos tentar. 1280x960 . Aqui já podemos fazer o FSAA apenas verticalmente. Acontece que o KYRO II não tolera AF + FSAA - ninguém está interessado em assistir a uma apresentação de slides. Bem, como a qualidade da FSAA pode ser classificada como "ruim", propõe-se celebrar a alegria de aumentar a resolução e esquecê-la para sempre. Em alta resolução, você pode ativar o AF, mas será lento. Então, senhoras e senhores, em Deus Ex (e jogos similares), o KYRO II parecia oferecer de maneira tão discreta que você se contentasse com o trilinear e esperasse o próximo chip com o bloco HW T&L a ser lançado. Mas ninguém esperou por ele. Então, o TBDR terminou no PC.





















Bem, você sabe ...


Se descartarmos a arquitetura do KYRO - para o aluno comum, era a placa de vídeo mais comum, que não possuía aproximações obscuras, cor de 22 bits, API proibida e outras porcarias, para as quais hoje é uma ocasião para montar um computador antigo. Na KYRO, tudo era:
  1. Extremamente simples : cores honestas de 32 bits, suporte completo para emulação DX6 e DX7.
  2. Extremamente rápido : não havia nada para dispersar
  3. E extremamente barato :)


Pelo dinheiro que foi solicitado para os cartões no KYRO II, foi um amor. Sim, com recheio agridoce, mas ainda assim era melhor do que a enorme variedade apresentada agora por duas empresas bem conhecidas.
Não será fora do lugar observar que o destino do PowerVR no segmento de PC é, em muitos aspectos, semelhante ao destino do 3dfx ( você pode até se lembrar da morte da compra do Gigapixel ). As mesmas inovações impressionantes, os mesmos problemas e, como resultado, os mesmos atrasos de saída. Como resultado, deixando o mercado e a morte de outra API fechada (PowerSGL).

Em geral, no final, tudo se resume ao fato de podermos dizer exatamente duas coisas:
  1. Tudo o que há de novo está mal enterrado.

    , api api ( , ) — (, , !). ! , !
  2. !

    PowerVR . , 2007 : , Deferred Shading. , , PowerVR. IMR.


Agradecimentos


  • Eu me curvo com dois engenheiros do mesmo escritório de São Petersburgo que ajudaram nas peças e até as soldaram para mim! Sem eles, simplesmente não haveria comentários sobre Voodoo5 e Kairo!

  • A administração do old-games.ru pela capacidade de baixar de forma rápida e gratuita 20 jogos a granel, apenas para verificar a estrutura do arquivo e executá-lo uma vez.

  • Descobridor de horizontes e rasgar capas - comunidade VOGONS . Para um monte de pesquisas e desenvolvimentos exclusivos!


... TBC ...

Referências
PowerVR VOGONS
KYRO
KYRO II

PowerVR ( !)
PowerVR ( ).

3D-.
Kristof Beets', PowerVR.
vintage3d.org — 3D

Source: https://habr.com/ru/post/pt381895/


All Articles