Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
17/03/1997

< Mais um Acrônimo >


Ultimamente tenho abusado do direito de jogar conversa fora. E antes que comecem as reclamações, vamos discutir hoje uma novidade tecnológica. Mas fá-lo-emos da forma mais indolor possível, destacando apenas seus pontos relevantes. Trata-se da AGP, ou Accelerated Graphics Port, mais um acrônimo proposto pela Intel para designar uma tecnologia destinada a acelerar a exibição de figuras tridimensionais na tela.

O assunto é importante porque o vídeo, especialmente quando se trata de trabalhar com figuras tridimensionais que podem ser "movimentadas" de maneira a serem vistas de diferentes ângulos, é hoje o maior responsável pela aparente lentidão de nossas máquinas. Vejamos porquê.

As novas tecnologias usadas nos jogos e programas gráficos onde aparecem objetos tridimensionais e nas cenas de realidade virtual permitem que o usuário mova os objetos (ou se mova em torno deles, o que do ponto de vista da exibição de imagens na tela dá no mesmo) a seu bel prazer, escolhendo a posição e o ângulo que o objeto aparecerá na tela. Isto significa que cada imagem a ser exibida tem que ser montada na hora pelos circuitos que controlam o vídeo. E como isto pode ser feito?

É simples: qualquer figura tridimensional pode ser decomposta em pequenos polígonos planos, geralmente triângulos, e "montada" na tela, desde que sejam conhecidas as coordenadas tridimensionais dos vértices de cada um dos polígonos que a compõem. Até mesmo a superfície obviamente curva de uma esfera pode ser representada como um conjunto de superfícies planas, desde que os polígonos sejam suficientemente pequenos. Evidentemente, quanto menores os polígonos, maior será seu número e quem tem noções de geometria analítica tridimensional e cálculo vetorial pode ter uma idéia da complexidade dos cálculos envolvidos.

Mas para simular sua aparência real não basta determinar os contornos do objeto. É preciso ainda levar em conta a textura de sua superfície, se ela é ou não capaz de refletir as outras imagens do ambiente, se é opaca, transparente ou translúcida. Tudo isto tem que ser conhecido para determinar a aparência da imagem na tela, além da posição da fonte de luz, do olho do observador e da superfície da tela em relação à imagem. E "conhecido", no caso, significa "calculado", já que a imagem é montada na hora, calculando cada coordenada tridimensional de cada vértice do imenso número de polígonos que a compõem. Este processo de cálculo, montagem e desenho na tela da imagem tridimensional chama-se "renderização".

Isto já basta para perceber que mesmo um pequeno movimento exige uma calculeira dos diabos. E que tem que ser feita muito rapidamente, já que para manter a suavidade do movimento, evitando trancos e descontinuidades, a imagem deve ser renovada na tela cerca de 30 vezes a cada segundo. Um negócio um bocado complicado, especialmente quando se usam as modernas e sofisticadas técnicas de renderização que realçam a aparência dos objetos, como "z-buffering" (que desenha primeiro os polígonos que estão atrás e só depois os que estão na face do objeto voltada para o observador), "alpha blending" (que torna os objetos transparentes ou translúcidos) e "fogging" (que faz objetos mais distantes aparecerem menos nítidos). Os circuitos de vídeo modernos são capazes de fazer estes cálculos muito rapidamente, aliviando a CPU destas tarefas. O problema é que eles utilizam a memória RAM como "rascunho", o que exige o transporte de uma quantidade imensa de dados pelo barramento. Que acaba se convertendo no gargalo e virando o vilão da história.

E é aí que entra a AGP. Ela usa um barramento independente, de altíssima taxa de transferência, ligando o sistema gráfico diretamente à memória RAM, permitindo que ela seja usada com extraordinária eficiência para armazenamento dos dados intermediários dos cálculos de renderização e texturização. De acordo com a Intel, este novo barramento será específico para o sistema de vídeo e não se destina a substituir o PCI, que continuará sendo o barramento padrão de uso geral para as placas-mãe Pentium. E estando incorporado à placa-mãe, sua adoção não somente melhorará o desempenho do sistema gráfico como reduzirá os custos das placas de vídeo 3D.

Hoje, já existe um grupo de fabricantes discutindo a especificação da interface AGP (detalhes em [http://www.teleport.com/~agfxport]) e espera-se que os primeiros conjuntos de chips auxiliares da placa-mãe (chipsets) suportando o padrão comecem a aparecer no mercado ainda no primeiro semestre deste ano. Alguns peso-pesados já aderiram, como a ATI, Cirrus Logic, IBM, Microsoft e S3. Mas quem está patrocinando e encabeçando o movimento, jogando pesado para que ele se dissemine, é a Intel. Que acabou de lançar o Pentium MMX e se prepara para lançar o Klamath, um Pentium Pro sem cache secundário, mas que suporta o padrão MMX.

Será que isto tem alguma coisa a ver com o fato de que o conjunto de instruções MMX e a unidade de ponto flutuante da CPU não podem ser usados simultaneamente, tornando a exibição de imagens em 3D o calcanhar de Aquiles do Pentium MMX?

Será mesmo?

B. Piropo