[Meu Micro Pifou] Escolhendo Sua Nova Placa de Vídeo
sexta-feira, junho 26, 2009 8:00
Gustavo Canedo (gknedo), Técnico em manutenção de micros, blogueiro do Blog do Canedo, membro participativo do Guia do Hardware e “advogado” da Microsoft.
Sou Gustavo Canedo, apaixonado por hardware, e desde que ganhei meu primeiro computador em 2002 venho me tornando cada dia mais um harduser. Meu primeiro contato com manutenção de micros foi em 2005, e desde 2007 trabalho nessa área. Na internet, vocês podem me conhecer devido ao meu trabalho no Guia do Hardware, ou pelo Blog do Canedo (será reinaugurado em breve). De início, vou fazer posts com um conteúdo informativo para usuários medianos, trazendo dicas e curiosidades sobre a manutenção e funcionamento de um computador. Vale lembrar que o termo “Manutenção de micros” não se aplica somente a parte física do computador, a maioria dos problemas que chegam na minha mão são problemas em programas e sistemas operacionais, então, mesmo que você nunca tenha tido coragem de abrir seu micro, pode ter certeza que esta coluna irá ser útil para você, e quem sabe você não cria coragem para “depená-lo”?. Então, para começar, fiz um post sobre como escolher sua próxima placa de vídeo, mostrando os principais componentes de um chip gráfico.
Uma placa de vídeo de ponta é o sonho de qualquer gamer. Qual gamemaníaco nunca sonhou em jogar Crysis com “tudo no high”?
Ter a disposição uma boa placa de vídeo é essencial para qualquer usuário que queira aproveitar o maior desempenho possível de seu computador, seja para utilizar efeitos e modificações gráficas no sistema; utilizar múltiplos desktops; ter um bom desempenho em vídeo no linux; poder jogar jogos com um alto nível de detalhamento gráfico; dentre tantas outras vantagens que uma placa de vídeo pode proporcionar.
Mas um erro muito comum que usuários (e até mesmo distribuidores de softwares) cometem é avaliar o desempenho de uma placa de vídeo simplesmente pela quantidade de memória que a mesma dispõe. Em quantos jogos verificamos entre os requisitos mínimos a inscrição: “Placa de Vídeo com 64MB ou mais”?
Esta forma de avaliar o desempenho de uma placa (simplesmente pela quantidade de memória) é completamente equivocada, neste meu post de estréia, você irá aprender os principais componentes de uma GPU, aprendendo a diferenciar uma placa boa das demais, e ao final da leitura perceberá que em uma placa atual, a quantidade de memória interfere em pouca coisa no desempenho da GPU.
A primeira coisa que deve ser ressaltada é que uma placa de vídeo é composta por diversos componentes que se somados, formam quase que “um outro computador” dentro dessa placa, isso faz com que a placa de vídeo seja algo tão avançado tecnologicamente quanto um processador, por isso, não é difícil encontrarmos computadores para gamers em que a placa de vídeo custe mais de 50% do valor do PC. Também é bom notar que nas últimas decadas a capacidade dos chips de processamento gráfico evoluíram bem mais que a capacidade do processador.
Temos que levar em conta que o desempenho da placa de vídeo é medido resumidamente com base em dois fatores: A taxa de FPS (Frames Per Second – ou Quadros Por Segundo), que é a quantidade de “imagens estáticas” que a placa de vídeo cria por segundo, e a qualidade desses quadros que ela cria.
De início também temos que saber que não existe um fator que seja determinante para dizer que uma placa de vídeo é boa ou ruim, o desempenho final é a soma de vários fatores, onde cito os principais abaixo.
Clock - Praticamente todo componente eletrônico pode ter sua velocidade de operação avaliada em clocks, que normalmente são medidos em MHz (MegaHertz) ou GHz (GigaHertz), e isso não é muito diferente em uma placa de vídeo. Logo, uma GPU com uma freqüencia maior pode realizar mais cálculos por segundo, ou seja, tem uma maior velocidade, mas não pense que velocidade é sinônimo de qualidade. Para exemplificar, vamos considerar que uma placa de vídeo tenha uma freqüencia de operação de 500MHz e com este clock consiga gerar 80 FPS. Se pegarmos esse mesmo chip de processamento gráfico e melhorarmos somente seu clock em 50%, ele operará a 750MHz e irá gerar 120 FPS, acha que isso irá fazer uma grande diferença? Está muito enganado! O olho humano dificilmente consegue distinguir mais que 35 FPS! Para fins de comparação, podemos ressaltar que uma emissora de televisão opera a 29 FPS! Ou seja se aumentarmos a velocidade do GPU, ele irá gerar mais frames por segundo, mas a qualidade dos frames continuará a mesma. Se a qualidade dos outros componentes da placa de vídeo não for das melhores, a imagem não irá ficar “congelando” pois está com um FPS alto, mas esta imagem não será tão real quanto uma imagem renderizada em uma placa que gere imagens com menos FPS mas com uma maior qualidade nestes frames.
Pixel and Texel Fill Rate - Se formos desdobrar todas as siglas e traduzir “Pixel and Texel Fill Rate” teremos a seguinte frase em português: “Taxa de preenchimento dos elementos da imagem e dos elementos da textura”. Note que uma imagem 3D é formada por milhares de polígonos preenchidos com texturas, e que a função de uma placa de vídeo é calcular a movimentação destes polígonos, preenchê-los com uma textura e tirar uma “screenshot” de tempos em tempos da posição destes polígonos, transformando os polígonos 3D em imagens 2D prontas para serem exibidas no monitor. Este processo de transformar os polígonos em imagens é chamado de renderização. Uma placa com um bom Pixel e Texel Fill Rate irá ter uma boa velocidade de processamento, mas vale lembrar que como no exemplo do clock, velocidade é diferente de qualidade!
Unidades de Vertex Shader - Uma unidade de vertex shader é utilizada para adicionar efeitos especiais de movimentos aos objetos em um ambiente 3D. Estes efeitos que o vertex shader proporciona são efeitos de movimento realístico a um conjunto de objetos pequenos, como o movimento de um gramado em uma rajada de vento ou o movimento dos cabelos de um personagem em corrida. Com um bom vertex shader a imagem fica muito mais real. Um bom exemplo e de fácil compreensão é este que adaptei da wikipédia: “Imagine um animal peludo. Representar seu pelo com uma textura não resultará em uma imagem realista, mas não exigirá muito poder de processamento, então até um computador de baixo poder de processamento gráfico irá conseguir modelar a imagem perfeitamente. Para representar a pelagem deste animal de uma forma mais real, sem o vertex shader, teria-se de modelar cada pelo de forma independente, mas seria computacionalmente pesado e nenhum computador pessoal existente até hoje conseguiria executá-lo com boa performance. O vertex shader resolve nosso problema de termos de escolher entre “Qualidade ou Desempenho” sendo possível modelar a pelagem de um animal com poucos polígonos e por meio de um processo da placa de vídeo alongar os vértices desses polígonos. Com isso o modelo 3D permanece simples e leve, mas ganha uma aparência muito superior ao obtido apenas com uma textura. Na imagem que acompanha este tópico você vê uma das inúmeras utilidades das unidades de vertex shader.
Unidades de Pixel Shader - As unidades de pixel shader são componentes separados das unidades de vertex shader, e atuam na finalização da modelagem de uma imagem, adicionando os efeitos finais de iluminação, sombras, reflexos, dentre outros efeitos que só podem ser aplicados depois que a modelagem estiver quase completa. Unidades de pixel shader são um dos elementos mais importantes de uma placa de vídeo, são elas que ficam com o trabalho mais pesado, por isso, você sempre irá encontrar mais unidades de pixel shader do que unidades de vertex shader em uma placa. Um bom exemplo de uso de pixel shader pode ser observado nessa screenshot do jogo GTA IV.
Núcleo de Shader Unificado - Ter unidades separadas para o processamento de pixel shader e de vertex shader sempre irá representar um gargalo. A proporção de Vertex:Pixel Shaders nunca será o ideal, pois cada modelagem irá exigir um certo trabalho na modelagem de pixels e de vertex, ocasionando sempre um gargalo em um dos lados, por isso as placas atuais não possuem unidades separadas, e sim um núcleo de shader, que é programado para executar tanto tarefas de renderização de vertex shader quanto de pixel shader.
TMUs e ROPs - Os TMUs (Texture Mapping Units) e ROPs (Raster Operation Units) são responsáveis pelos filtros que serão usados nas imagens, entre os principais filtros estão o Antialiasing e o Anisotropic. Estes filtros podem representar algum gargalo caso eles estejam ativados em uma placa de baixo desempenho, merecendo assim uma atenção especial. Vale tomar nota de que em uma placa com poucos TMUs e ROPs ou que utilizam componentes baratos, desde que os filtros estejam desativados, o desempenho não será muito afetado, a falta destes componentes afeta diretamente a qualidade da imagem final, e não o desempenho.
Filtro Anti-Aliasing - O Aliasing (também chamado de “serrilhamento”) é a perda de qualidade da imagem em suas bordas, dando um efeito de serrilhamento. O serrilhamento é disfarçado com o filtro, que dá bordas mais suaves a imagem. Sem o filtro anti-aliasing as bordas dos polígonos são “quebradas”, quando o ativamos, a GPU aplica uma diminuição gradual em sua cor. A qualidade do filtro anti-aliasing é medida em “x”. Uma imagem com um anti-aliasing “x2″ significa que as bordas serão 2 vezes mais suaves, um anti-aliasing “x4″ significa que as bordas serão 4 vezes mais suaves, e assim por diante. Para compreender melhor o que estou tentando explicar, observe uma imagem com e sem o antialiasing, afaste-se cerca de dois metros do monitor com esta imagem aberta e você perceberá a brutal diferença que o filtro anti-aliasing proporciona.
Filtro Anisotropic – Sem o filtro anisotropic, a placa de vídeo não renderiza perfeitamente objetos que estão “longe” do cenário. Isto é feito para melhorar o desempenho, ou seja, gastar o poder de processamento somente em objetos próximos, o que faz com que placas não tão poderosas consigam renderizar cenas complexas. Perceba nessa screenshot de um simulador de aviões, a diferença que este filtro proporciona. Repare que a perda de qualidade é gradual, nos objetos mais próximos do observador não há diferenças, e nos objetos mais distantes as diferenças são pornográficas.
Memória - A memória de uma placa de vídeo é bem similar a uma memória RAM normal, seja no seu hardware, no seu funcionamento, ou na sua função. O trabalho da memória é armazenar em seus chips as informações que a placa está utilizando. Este trabalho poderia ser feito pelo HD, mas temos que saber que o HD é um dos poucos componentes de um computador que ainda funciona de forma mecânica, portanto, seu desempenho é bem inferior ao de uma memória RAM, o que iria gerar um gargalo muito grande. A lógica para o funcionamento da memória é simples: Quanto mais memória uma placa tem, menos ela precisa acessar o HD, logo ela irá ter menos gargalos. Mas vale lembrar que um jogo, mesmo dos mais realistas, difilcimente irá precisar de mais de 128MB para seu funcionamento, portanto a memória não faz tanta diferença assim, o que importa é que a placa tenha bons componentes e em quantidade suficiente, o que explica a minha afirmação no início do post.
Resumindo: Uma GPU será boa se trazer muitas unidades de shader e uma boa taxa de Pixel Fill Rate e Texel Fill Rate. Como um bônus para a qualidade, podemos colocar os TMUs e ROPs, que cuidarão dos filtros. A freqüencia de operação da GPU geralmente é inversa ao número de componentes, quanto mais unidades de shader, TMUs e ROPs a GPU tiver, com menos freqüencia ela irá rodar. A memória atualmente não influencia em muita coisa, desde que não esteja em falta (ou seja, 2GB ou 4GB de memória em um placa atual -mesmo que existisse- não fará a menor diferença). Para finalizar, vale lembrar que estes são os principais, mas não os únicos fatores que influem no desempenho de uma placa, o bom é que, antes de comprar a placa, busque na internet por benchmarks dessa placa.
Espero que este post tenha sido útil, e não esqueça de comentar! Sugestões para os próximos artigos também são bem vindas!
—Atualizado—
Estou atualizando este post para deixar uma dica de duas tabelas que comparam o desempenho de várias placas de vídeo, estas tabelas podem ser encontradas no Clube do Hardware, sendo uma tabela para as GPUs da AMD ATI e outra tabela para as GPUs da nVidia. Também coloquei as ilustrações diretamente no post, retirando os links, para que a leitura do post fique melhor. Valeu chefinho pelo toque!
Imagens:
http://gemaga.com/
http://pcgameshardware.com/
http://puc-rio.br/
http://rockstargames.com/
http://zanir.szm.sk/
Referências:
Hardware: O Guia Definitivo (Carlos E. Morimoto)
http://clubedohardware.com.br/
























Mario 5 escreveu:
26 de junho de 2009 as 10:09
Excelente artigo, vou ler várias vezes.
Para´bens.
Caio escreveu:
26 de junho de 2009 as 19:25
Boa matéria e redator, parabéns.
Gustavo Canedo escreveu:
26 de junho de 2009 as 22:00
Opa galera… vlw aí pelos elogios… continuem visitando o apertef5.com.br que sempre tem matérias interessantes, os colunistas aqui são ótimos! Tô tão até lisonjeado de fazer parte desse time… então, não se esqueça, todo dia é dia de apertar f5!
E galera, também to passando aqui pra avisar que dei uma modificada no post depois dele ser publicado, retirei os links (PS: não eram hotlinks ok?) e adicionei as imagens diretamente… vlw pela dica rafael ^^
Xorna escreveu:
26 de junho de 2009 as 22:09
Cara, mto massa, não sou mto ligado em games saca, uso linux (desktop) e mac os x (laptop), mas to usando uma XFX GForce 9600GSO no linux, a placa é animal, até rodei ela com windows, rodava a maioria do jogos com uma performance mto boa, mas sabe como é… é melhor nem ter os games a disposição senão a gente não faz mais nada, baita post, parabens!
Rodrigo Tucano escreveu:
30 de junho de 2009 as 15:31
ótimo conteúdo! um amigo meu pediu indicação de placas de vídeo já vou passar esse post pra ele, mutio bom!
sirilo escreveu:
6 de julho de 2009 as 10:44
Muito bom o artigo mas achei que ia ter informações sobre os modelos da placa de vídeo , que jogos rodam nela , quais das placas conseguem rodar Crysis no Very High etc..
Gustavo Canedo escreveu:
16 de julho de 2009 as 10:01
Sirilo, a intenção não é indicar placas, é fazer o leitor entender o porque a placa X é melhor que a Y, para que ele mesmo descubra o Custo x Benefício de uma placa…
Reviews de placas temos aos montes na internet…
0dail escreveu:
2 de agosto de 2009 as 15:11
E no caso de um jogo 2D, quais os parametros mais importantes? Como jogos 2D não exige muito, existe alguma placa de vídeo que consiga rodar qualquer tipo de jogo 2D? Ou será que 2D é igual a 3D, surgindo coisa melhor cria assim a necessidade de placas cada vez mais potentes?
Gustavo Canedo escreveu:
4 de agosto de 2009 as 10:25
0dail, para qualquer imagem formada no computador é necessário algum processamento da placa de vídeo, prova disso é a resolução da tela do computador e a quantidade de cores que podemos usar na mesma.
Na período jurássico da informática, placas de vídeo eram monocromáticas. Hoje em dia qualquer placa de vídeo oferece um bom suporte a jogos 2D, pois estes exigem mais do processador do que da própria placa de vídeo.