Toda imagem 3D começa como um enorme conjunto de políginos, coordenadas e comandos, gerado pelo processador principal e armazenado na memória. A função básica da placa de vídeo é transformar estes dados na imagem 2D que será mostrada no monitor,
processo chamado de renderização. No caso dos jogos, as informações na memória são atualizadas em tempo real (ou quase 🙂 pelo processador, conforme o código do jogo é processado e a placa de vídeo se encarrega de tirar “screenshots” periódicos, que são
exibidos no monitor. Por estranho que possa parecer, o trabalho necessário para renderizar as cenas em tempo hábil é muito maior do que o próprio trabalho de executar o jogo e armazenar as informações na memória, daí a necessidade de usar uma placa
3D.
O fill rate indica a capacidade bruta da placa de vídeo em renderizar pixels. Em placas antigas, o fill rate é a especificação mais importante da placa, mas nas atuais existem diversos outros fatores, como o processamento de shaders, de texturas e o
suporte a recursos diversos.
Existem dois tipos de fill rate, o “pixel fill rate” e o “texel fill rate”. O primeiro indica o processamento de pixels (medido em megapixels por segundo), enquanto o segundo indica a capacidade da placa em aplicar texturas (medida em
megatexels por segundo). O pixel fill rate é especialmente importante ao ativar o suporte a antialiasing, enquanto que um bom texel fill rate permite rodar os jogos usando texturas maiores e efeitos relacionados a elas (como o Anisotropic
Filtering), que resultam em uma melhor qualidade de imagem.
O fill rate pode ser calculado com base no número de unidades de processamento e o clock da GPU. O processamento dos pixels é dividido em duas etapas. A primeira é executada pelos pixel pipelines, que geram a imagem “bruta” a partir dos polígonos. Os
pixels são então enviados aos ROPs (Raster Operations Pipelines, ou Render Output Pipelines) que combinam a imagem com as texturas (geradas pelas unidades de processamento de texturas), aplicam efeitos adicionais e geram a imagem final, que é mostrada no
monitor.
A GeForce 7900 GTX, por exemplo, possui 16 ROPs, 24 pixel pipelines, 24 unidades de processamento de texturas e opera a 650 MHz. Isso resulta em um fill rate de 10400 megapixels e 15600 megatexels. Você pode notar que ela possui mais pixel pipelines e
mais unidades de processamento de texturas do que ROPS, ao contrário de placas mais antigas (como as GeForce 6), que possuem a mesma quantidade de cada tipo. Isso visa melhorar o desempenho da placa ao usar recursos como o Antialiasing e o Anisotropic
Filtering, sem contanto aumentar exageradamente a complexidade do projeto adicionando mais ROPs.
Como de praxe, o fill rate é determinado pela combinação do clock da GPU e do número de unidades de processamento. A GeForce 8800 GTS, por exemplo opera a uma frequência mais baixa que a 7900 GTX (apenas 500 MHz) mas possui, em compensação, 48 unidades
de processamento de texturas, o que resulta em um fill rate de 24000 megatexels, mais de 50% maior.
Antigamente, as placas possuíam o mesmo fill rate para pixels e texels, mas as atuais possuem, via de regra, uma capacidade de processamento de texturas muito maior. Isso acontece porque nos jogos atuais o uso de texturas é muito mais intenso,
inclusive com o uso de texturas sobrepostas. Isso faz com que a placa acabe processando um volume muito maior de texturas do que de pixels, fazendo com que o texture fill rate torne-se, quase sempre, um gargalo muito antes do pixel fill rate. É por isso
que o pixel fill rate sequer é mencionado nas especificações de muitas placas atuais.
Só para efeito de comparação, a Voodoo 1, lançada em 1996, possui um fill rate de apenas 50 megatexels, enquanto a Riva TNT2, lançada em 1999, tem um fill rate de 250 megatexels. A TNT2 tem um fill rate cinco vezes maior do que a Voodoo, mas quase 100
vezes menor que a GeForce 8800 GTS. Como você pode ver, as placas 3D evoluíram (proporcionalmente) bem mais rápido do que os processadores do final da década de 1990 pra cá.
Deixe seu comentário