Meio Bit » Arquivo » Hardware » GPU Wars, Episódio 2: “Rendição aos efeitos tridimensionais via hardware”

GPU Wars, Episódio 2: “Rendição aos efeitos tridimensionais via hardware”

Continuação da retrospectiva dos principais lançamentos em processadores gráficos. Desta vez o tio Laguna aborda os anos 1996 e 1997. Principais personagens: Rendition e 3Dfx, com o retorno triunfal da nVidia.

14 anos atrás

O ano agora é 1996: no dia 24 de fevereiro, a id Software lança QTest, uma demonstração tecnológica de um novo título imersivo, este cercado de grande expectativa, afinal a empresa festejava o sucesso dos dois primeiros Doom (inclusive a expansão Master Levels for Doom II, recém lançada) e a id daria 'carta branca' para que a equipe de John Romero e John Carmack transformasse o projeto de mais um FPS da empresa, que provavelmente seria mais uma continuação de Doom, em uma nova franquia.

Laguna_RenditionL96_09jul2010

O nome da nova franquia era Quake e, além de o QTest demonstrar a tecnologia imersiva envolvida e o modo multiplayer, o jogo em si fôra desenvolvido com foco no processador gráfico da Rendition, o Vérité V1000, que equipava algumas placas de vídeo PCI da Creative, a série 3D Blaster.

A Rendition era uma pequena fabricante californiana de semicondutores e tinha a ambição de competir no mercado high-end dos processadores gráficos à época: no ano anterior, 1995, a empresa trabalhou em conjunto com John Carmack para que o Vérité fosse a principal GPU que acelerasse, via hardware, os gráficos tridimensionais de Quake, ao tornar-se a principal plataforma gráfica do tão aguardado jogo da id Software.

Apesar de o processador gráfico Vérité ser compatível com a API da titia Microsoft, o Direct3D, o melhor desempenho dessa GPU era alcançado com o uso de uma API gráfica da própria Rendition, presente no desenvolvimento de VQuake, a versão original do jogo e que fôra lançada especificamente para uso na Vérité.

Mas nem tudo na vida é tão perfeito quanto as flores no jardim de Mountain View…

Laguna_Verite1Blast_09jul2010

Placa de vídeo Creative 3D Blaster PCI, com GPU Vérité V1000 da Rendition.

O processador gráfico Vérité V1000 era composto por uma inovadora ALU RISC totalmente programável, além de uma TMU e um ROP, todos esses elementos caminhando à vergonhosa freqüência de 25 MHz (a incluir 4 MiB de memória EDO com interface 64 bits).

Quando tal hardware fosse totalmente aproveitado, prometia fazer coisas como correção de perspectiva espacial e filtragem bilinear das texturas. Em teoria, tudo muito bom e maravilhoso, porém, na prática, o que tínhamos era um fraco desempenho geral do Vérité V1000, tanto em 2D quanto em 3D.

lag_duk_23_06_09_2

Tal performance "broxante" provavelmente não compensava a difícil programação da API gráfica proprietária da Rendition, que aproveitaria todo o potencial da Vérité: não deve ser difícil imaginar que John Carmack teria ficado insatisfeito com tal situação e convenceu a id Software a migrar totalmente das APIs proprietárias para o OpenGL, tendo em vista uma maior portabilidade de Quake e de futuros títulos para outras plataformas.

Enquanto a Rendition lidava com os problemas da Vérité, em setembro daquele ano, 1996, a ATi pôs no mercado o processador gráfico 3D Rage II+DVD, que equipava a 2ª geração das placas de vídeo Rage 3D: a placa de vídeo 3D Xpression Plus prometia o dobro do desempenho do modelo anterior, aquele baseado na GPU Mach 64 GT.

O 3D Rage II+DVD incluiu, dentre outras melhorias internas em relação ao Mach 64 GT, a decodificação via hardware do codec MPEG-2, o que diminuía bastante o esforço do processador central ao decodificar os filmes dos recém-lançados DVDs: naquela época, tínhamos no varejo CPUs x86 da Intel (Pentium MMX / Pro), AMD (K5 / 5k86) e Cyrix (6x86) andando a freqüências pouco acima dos 100 MHz e qualquer recurso que deixasse de usar o processador central era muito bem-vindo.

Laguna _3DXpression_13jul2010

Placa de vídeo 3D Xpression Plus PCI, com GPU 3D Rage II+DVD da ATi.

A pipeline gráfica do processador gráfico 3D Rage II+DVD era composta por um único pixel pipeline (1 ALU + 1 TMU + 1 ROP) correndo a 60 MHz e a placa podia ter até 8 MiB de memória do tipo SGRAM a 83 MHz, com interface 64 bits.

Algumas placas baseadas na GPU 3D Rage II+DVD até forneciam saída composta para TV (aquele cabo RCA amarelo que persiste até hoje) e funções de captura de vídeo como opcionais. Enquanto isso, o suporte à API gráfica Direct3D 4.0 (DirectX 3) era item de série no 3D Rage II+DVD.

Quem tinha como mero opcional a compatibilidade com a API gráfica Direct3D era uma estreante família de processadores gráficos, que prometiam um desempenho ‘monstruoso’ com o uso de “magia negra”: ainda em 1996, veríamos o lançamento da mais famosa API gráfica proprietária no século XX: o Glide, da 3Dfx.

Laguna_3DfxLogo_14jul2010

A equipe de programadores da 3Dfx conseguiu criar uma API gráfica bastante simples para os desenvolvedores de jogos da época: o Glide era basicamente uma versão bem simplificada do OpenGL, só que otimizado para a manipulação e a aceleração dos gráficos tridimensionais em tempo real, cujas instruções eram implementadas diretamente nas ALUs dos processadores gráficos da 3Dfx, a família Voodoo, iniciada em outubro de 1996.

O Glide tinha a fama de ser muito mais rápido que o Direct3D, pois este tinha uma camada de software que limitava seu desempenho, ao usar parte do processamento central para obter acesso ao dispositivo de aceleração gráfica. Seja como for, o desempenho de ambas as APIs gráficas proprietárias era superior à renderização via software, que destinava todo o processamento gráfico à CPU, algo que seria bem mais ineficiente, convenhamos.

O tio Laguna lembra que a caixa importada de alguns jogos lançados para os PCs nos anos seguintes (entre 1997 e 1998), vinham com o logotipo da 3Dfx, provavelmente por questão de marketing: assim, o potencial consumidor desses jogos poderia associar os gráficos 3D com a 3Dfx.

Não é difícil imaginar que a 3Dfx deva ter investido bastante para ter a marca estampada daquela maneira e óbvio que a empresa cobraria bastante caro do consumidor, só que não diretamente: assim como a ATi e a nVidia, a 3Dfx desenvolvia o projeto da GPU e o processador gráfico em si tinha o chip litografado por alguma foundry contratada.

Assim, tais chips eram fornecidos à fabricantes especializados em placas de vídeo (alguns também fabricavam PCBs de placas-mãe), que obedeciam o projeto de acordo com o que o contrato com a 3Dfx especificava. No caso da Monster 3D, a GPU Voodoo 1 (1 ALU + 1 TMU + 1 ROP) rodaria a 50 MHz, tendo acesso a dois canais de memória EDO com interface 64 bits cada, a totalizar até 6 MiB (128 bits, também à 50 MHz).

Laguna_GdH3DVoodoo1_14jul2010

Placa de vídeo PCI da Diamond: a Monster 3D. Sua GPU, a Voodoo 1, servia apenas para gráficos 3D, literalmente.

E o plano da 3Dfx era vender placas de vídeo que apenas lidassem (e bem!) com os gráficos tridimensionais dos jogos da época (NFS II SE, Carmageddon, Tomb Raider, Virtua Fighter 2, Resident Evil, MechWarrior, dentre outros...), sendo perfeitas num simples upgrade para jogar no PC, afinal era só espetar a placa aceleradora 3D noutro slot PCI.

O porém era que isso obrigava o consumidor, daquela época, a manter outra placa de vídeo para o uso corriqueiro do computador, que não fossem jogos 3D: a conexão entre as placas era feita por um inusitado cabo VGA externo, para que o consumidor não precisasse trocar o cabo do monitor toda vez que precisasse alternar entre a jogatina nas Monster e uso normal do PC, uma situação análoga à Millennium, embora esta permitisse o uso de dois monitores com a mesma imagem.

A própria 3Dfx deve ter reconhecido que boa parte dos potenciais consumidores não estaria disposta a ocupar mais um valioso slot PCI e ainda passar um cabo suspeito por trás (opa!) só para jogar, enquanto a maioria das placas acelerava 2D e 3D num mesmo hardware, embora com um desempenho inferior às Voodoo nos jogos 3D: seis meses depois, em abril de 1997, a 3Dfx lançaria a Voodoo Rush, que era basicamente uma GPU Voodoo 1 (algumas versões chegavam a correr à freqüência 75 MHz) que aceitava a inclusão de um chip acelerador 2D de terceiros (Hercules, Macronix, Cirrus Logic, Trident...) na mesma placa.

Laguna_VoodooRush_15jul2010

Dois modelos de placas de vídeo PCI com GPU Voodoo Rush, onde há a adição de um chip acelerador 2D, de terceiros.

O ponto negativo, de a GPU Voodoo Rush aceitar um outro processador gráfico só para a aceleração de gráficos bidimensionais, era o aumento na complexidade da respectiva placa de vídeo: havia modelos que aproveitavam o projeto da Voodoo 1 e simplesmente adaptavam uma ‘placa-filha’, onde estava o hardware responsável pelos gráficos 2D.

Outros modelos deixariam tudo num mesmo PCB, o que aumentava o comprimento da tal placa de vídeo.

Seja como for, ainda tinha outra questão polêmica: para baratear os custos, alguns modelos tinham a Voodoo Rush e a GPU aceleradora 2D compartilhando os mesmos chips de memória e não era de forma amigável, pois tais “gambiarras” prejudicavam o desempenho geral da respectiva placa de vídeo.

Quem não mais queria saber de complicação alguma era a nVidia: no mesmíssimo abril de 1997, a empresa do camaleão verde lançaria o processador gráfico RIVA 128, codinome NV3.

Laguna_128ViperV330_15jul2010

Diamond Viper V330 com GPU RIVA 128, em versões PCI e AGP.

Nada de viagens QTM pelo planeta Saturno: a API gráfica proprietária do RIVA 128 é o Direct3D presente no DirectX 5 e inclui a aceleração de gráficos bidimensionais num mesmo hardware (olá, 3Dfx!) e contava até com básica decodificação via hardware do codec MPEG-2. Neste processador gráfico da nVidia, temos 3,5 milhões de transístores litografados a 350 nm, contra o milhão do Voodoo 1.

Laguna_nVidiaSecXX_15jul2010

Outro ponto interessante: a especificação AGP-1x foi finalizada pela Intel no final de 1996 e, embora os primeiros chipsets e placas-mãe com tal barramento só tenham aparecido por volta do segundo semestre de 1997, junto ao Pentium II, o RIVA 128 já tinha suporte ao novo barramento dedicado às placas de vídeo.

Mesmo possuindo o suporte ao AGP, a tal GPU da nVidia apareceu inicialmente em placas de vídeo PCI, inclusive algumas com direito à saída vídeo componente, para as raras TVs de tubo da época que permitiam tal entrada (ui!) analógica de vídeo.

Seja em versão PCI ou versão AGP, as tais placas de vídeo tinham a RIVA 128 disparando munição à freqüência 100 MHz (1 ALU + 1 TMU + 1 ROP), contando com até 4 MiB de memória SGRAM na mesma freqüência de operação (100 MHz) e em dois canais de 64 bits (interface 128 bits, que nem o Voodoo 1).

Mesmo que tivesse hardware claramente superior à Voodoo 1, a RIVA 128 e o DirectX 5 não conseguiam performance melhor que o Glide em jogos 3D. Ao menos a RIVA 128 conseguia melhores resultados, em jogos DirectX 5, que o processador gráfico diretamente concorrente, o 3D Rage Pro, da ATi.

A furiosa e rubra ATi trabalharia, em conjunto com a Intel e a Microsoft, para lançar a primeira GPU com suporte nativo ao AGP-2x: a versão PCI da 3D Rage Pro já tinha sido lançada em março de 1997, mas a versão AGP-2x só sairia ao final daquele ano.

Laguna_3DRageProAGP_15jul2010

Versão AGP-2x da 3D Rage Pro.

O único ponto realmente forte da 3D Rage Pro, em comparação direta com a RIVA 128, era a decodificação completa do codec MPEG-2, inclusive com aceleração total do motion compensation via hardware, o que permitia que modestas máquinas à época pudessem decodificar os filmes em DVD com o mínimo uso do processador central.

Em comparação com a GPU anterior da ATi, a 3D Rage Pro tinha freqüência maior (75 MHz) e a respectiva placa de vídeo AGP-2x podia contar com até 16 MiB de memória do tipo SDR-SDRAM (a 100 MHz) e interface 64 bits.

Voodoo Rush (PCI), RIVA 128 (AGP-1x) e 3D Rage Pro (AGP-2x): assim terminaria o ano de 1997, com a interface AGP sendo lentamente adotada e o estabelecimento de mais empresas rivais no ramo dos processadores gráficos.

  • A popularização de mais uma API gráfica proprietária, neste segmento de mercado, seria algo benéfico e promissor à 3Dfx?
  • Será que a ATi desenvolveria um produto competitivo para rodar decentemente os jogos tridimensionais no Windows?
  • A nVidia sofreria mais algum tombo interplanetário?

Tio Laguna tentará responder tais perguntas num próximo episódio da saga GPU Wars, aqui mesmo, no Meio Bit. Tenham paciência e evitem spoilers nos comentários, por favor.

relacionados


Comentários