Manual de Hardware Completo

 

Via Boleto Bancário
Login:
Senha:
Hospedagem de Sites
- Estrutura
- Contratar
- Planos
- Revenda
Registro de Domínios
- Registre seu Domínio
Suporte
- Help Desk
- Atendimento via E-mail
Atendimento Telefônico
Atendimento Telefônico

Suporte BHSite (Hospedagem de Sites)
 


Manual de Hardware Completo

 

 

Página 8


Conceitos gerais sobre placas 3D

Antes de começarmos a estudar os recursos das placas e chipsets de vídeo disponíveis no mercado, gostaria de explicar mais alguns conceitos gerais sobre as aceleradoras 3D. Vamos a eles:

A divisão das tarefas

Como vimos, uma imagem 3D nada mais é do que um enorme conjunto de polígonos. Quem trabalha com Corel Draw ou outro programa de desenho vetorial, sabe bem que uma das diferenças entre uma imagem vetorial (composta por polígonos) e uma imagem em bitmap, é que a primeira pode ser esticada livremente, assumindo qualquer tamanho mas mantendo a mesma qualidade. Por outro lado, se esticarmos a segunda os pontos estourarão e acabaremos com um borrão disforme em mãos.

Isso acontece por que uma imagem poligonal na verdade é apenas um conjunto de equações matemáticas que indicam a forma, posição e tamanho relativo dos polígonos. Ao ampliar a imagem, o processador apenas irá refazer estes cálculos, reconstruindo a imagem no tamanho desejado. Porém, ampliando uma imagem em bitmap poderemos apenas aumentar o tamanho dos pontos, resultando em uma imagem de baixa qualidade.

Este mesmo conceito se aplica a uma imagem 3D, que repito, é apenas um conjunto de polígonos. Uma aceleradora 3D serve para auxiliar o processador na construção das imagens 3D usadas nos jogos e aplicativos. Veja que a placa 3D é apenas uma assistente (apesar de fazer a parte mais pesada do trabalho), isto significa que o processador também tem as suas tarefas. Vejamos quem faz o que:

O processador é encarregado de montar armação da imagem, ou seja, montar a estrutura de polígonos que a compõe, calculando o tamanho e posição de cada um. Esta tarefa exige uma quantidade gigantesca de cálculos matemáticos, justamente por isso, é essencial que o processador possua um coprocessador aritmético poderoso.

Após terminar de desenhar a armação da imagem, o processador a transmite para a placa 3D, junto com as texturas que devem ser aplicadas sobre os polígonos, informações sobre as cores de cada polígono, posição de cada textura e assim por diante.

A placa de vídeo por sua vez, tem como tarefa aplicar as texturas, colorir os polígonos, aplicar os efeitos 3D, determinar quais partes da imagem estarão visíveis e, finalmente, gerar a imagem que será mostrada no monitor.

Num jogo, este processo é repetido indefinidamente, gerando a movimentação da imagem. Quanto mais poderosos forem o processador e a placa de vídeo, mais imagens poderão ser geradas por segundo, resultando em um frame rate mais alto. O frame rate nada mais é do que o número de quadros apresentados por segundo. Um frame-rate ideal seriam pelo menos 30 quadros por segundo, enquanto o mínimo seria em torno de 20 quadros. Abaixo disso, o jogo começará a apresentar saltos, que prejudicarão a jogabilidade. Vale lembrar que o frame-rate nada tem a ver com o refresh-rate, que é a quantidade de vezes que a imagem armazenada na memória da placa de vídeo é lida pelo RAMDAC e atualizada no monitor. Podemos ter, ao mesmo tempo, um frame-rate de 30 quadros por segundo e um refresh-rate de 75 Hz por exemplo.

O frame rate é determinado basicamente por 4 fatores:

1- A potência da placa de vídeo

2- O nível de detalhes da imagem (com 16 ou com 32 bits de cor por exemplo)

3- A resolução de vídeo utilizada (800 x 600 ou 1024 x 768 por exemplo)

4- A potência do processador

Como vimos, antes da imagem ser transferida para a placa de vídeo, tem que ser “esboçada” pelo processador. Este esboço é então transferido para a placa de vídeo que cuida do resto. Quanto mais texturas tiverem que ser aplicadas, mais efeitos de luz etc. mais tempo a placa de vídeo demorará para terminar cada imagem.

Outro fator é a resolução de vídeo utilizada. Usando 640 x 480 ou 1024 x 768, o trabalho do processador é exatamente o mesmo, pois como vimos, os polígonos podem ser redesenhados e a imagem ampliada para qualquer tamanho sem que haja perda de qualidade. Porém, quanto maior for a resolução, maior será o trabalho da placa de vídeo (que terá que renderizar mais pixels), e consequentemente mais baixo será o frame-rate.

É como se alguém dissesse para um pintor: eu quero um desenho assim e assim. Quanto maior for o quadro, maior será o trabalho do pintor, mas as instruções dadas a ele serão as mesmas.

Usando uma resolução de vídeo muito alta, a placa de vídeo ficará com a parte mais pesada do trabalho, fazendo com que o processador tenha que ficar esperando a placa de vídeo terminar as imagens para poder enviar os quadros seguintes. Nesta situação, trocar a placa de vídeo 3D por outra mais rápida aumentaria de imediato o frame-rate. Vale reforçar que o frame rate não tem nada a ver com a velocidade do jogo, seja com 60 ou com 5 quadros por segundo, o boneco vai demorar o mesmo tempo para correr até o outro lado da tela, apenas a movimentação será mais precária.

Usando uma resolução mais baixa, 640 x 480 ou menos, o cenário se inverte. Os cálculos feitos pelo processador a cada quadro continuarão os mesmos, porém o trabalho da placa de vídeo será bem mais leve, pois as imagens a serem geradas serão menores. Consequentemente, a placa de vídeo fará seu trabalho muito rapidamente, e teremos o cenário oposto, com a placa de vídeo ociosa esperando pelo processador.

Em termos de qualidade de imagem, todas as placas de vídeo fabricadas a menos de um ano ficam bem próximas umas das outras. Um especialista pode ser capaz de diferenciar as imagens com facilidade, mas um usuário normal normalmente sequer notará grandes diferenças na imagem de uma para outra, desde que usada a mesma resolução claro.

Porém, existe uma variação muito grande em termos de desempenho. Apesar da maioria dos jogos atuais serem jogáveis mesmo em placas 3D relativamente simples como uma Viper v550 uma TnT Vanta ou uma Voodoo 3, na maioria dos casos você só terá um frame-rate aceitável usando resolução de vídeo de 640 x 480, e em alguns casos desabilitando algumas opções relacionadas com a qualidade da imagem.

Usando uma placa mais parruda, como uma GeForce 2 GTS ou uma ATI Radeon DDR por exemplo, você terá um frame rate satisfatório mesmo usando resoluções bem mais altas e habilitando todos os efeitos visuais.

Em qualquer caso, você precisará de um processador pelo menos razoável. Algumas placas 3D são menos dependentes do processador do que outras, apresentando um bom frame rate mesmo em processadores mais lentos. Este é o caso das placas equipadas com o chipset Voodoo (todas as versões). Outras placas como as baseadas nos chipsets Riva 128 e Riva TnT (como as Viper) manifestam todo o seu potencial apenas em conjunto com processadores mais parrudos. Se você tiver um Pentium 200 por exemplo, provavelmente uma Voodoo apresentará um desempenho melhor do que uma TnT, mas caso o processador seja um Pentium III 500 o cenário provavelmente irá se inverter. Analisaremos caso a caso mais adiante.

Frame-Rate e desempenho

A medição de performance para placas de vídeo mais aceita atualmente, é justamente a quantidade de quadros por segundo que cada placa é capaz de gerar em um determinado jogo. Como vimos, o trabalho da placa de vídeo é basicamente desenhar as imagens e mostrá-las no monitor, e o objetivo de se ter uma placa rápida é justamente poder jogar qualquer jogo a altas resoluções, com todos os efeitos 3D ativados e com um bom frame rate.

Escolhe-se então um jogo popular, e compara-se o número de quadros por segundo (FPS) gerados por cada placa, todas espetadas na mesma configuração de processador, placa mãe, HD, etc. Para medir o número de quadros gerados pela sua placa de vídeo no Quake 2 por exemplo, basta abrir o console e digitar: “timedemo demo1”.

O jogo rodará um demo, uma seqüência de imagens pré programadas, e calculará o frame rate médio mantido pela placa durante a exibição. A maioria dos jogos atuais possuem este recurso: Unreal, Shogo, Half Life, Quake 3, etc.

A idéia de usar jogos para medir a performance das placas ao invés de programas de benchmark como o 3D Winbench vem tornando-se cada vez mais popular entre os sites especializados e revistas de informática, pois mostra o desempenho da placa em aplicações reais, onde elas realmente serão usadas. Os benchmarks normalmente perdem neste aspecto, pois sempre acabam levando em consideração alguns fatores que não influenciam tanto nos jogos, apresentando resultados que nem sempre refletem o desempenho em aplicações reais.

Lógico que para terem validade, os testes devem ser realizados com micros de configuração exatamente igual, usando a mesma resolução de tela e o mesmo jogo, mudando apenas a placa de vídeo usada entre uma medição e outra. Depois os resultados são comparados e a placa que for capaz de gerar mais quadros por segundo é a mais rápida.

Para que não seja possível perceber qualquer falha na fluidez da imagem, o ideal seriam pelo menos 20 ou 25 quadros por segundo. Para você ter uma idéia, a TV exibe 24 quadros, e desenhos animados variam entre 16 e 24 quadros. Normalmente 30 quadros são o valor considerado ideal no mundo dos games.

O problema é que em cenas mais pesadas, com muitos inimigos, tiros, explosões, etc., e consequentemente mais polígonos, o frame rate pode cair até pela metade. Isto significa que os 30 fps médios em algumas cenas do jogo poderão cair para 15 ou até menos. Prevendo isto, os fabricantes dizem que o ideal seriam 60 fps, pois assim dificilmente o frame rate cairia para menos de 30 fps mesmo nas cenas mais pesadas. Claro que eles dizem isso para convencer os compradores a trocar suas placas antigas por placas topo de linha, pois apenas as placas mais parrudas (e às vezes nem elas...) são capazes de manter 60 fps ou mais a 1024 x 768 de resolução nos jogos mais recentes.

Pessoalmente, considero 30 fps médios um índice mais do que aceitável, pois as quedas momentâneas para 15 ou 13 quadros não chegam a atrapalhar tanto a ponto de justificar gastar mais 200 ou 300 dólares para ter um equipamento topo de linha.

Os Drivers

Um ponto fundamental atualmente quando falamos em placas 3D são justamente os drivers. Simplificando, um driver é um pequeno programa, ou um “manual de instruções” que permite ao sistema operacional utilizar todos os recursos da placa de vídeo. Os fabricantes mantém os drivers de suas placas em constante desenvolvimento, e a cada versão temos uma melhora tanto no desempenho quanto na compatibilidade. Antes de instalar uma placa 3D, não deixe de fazer uma visita ao site do respectivo fabricante e baixar os drivers mais recentes, que invariavelmente terão mais recursos e serão mais rápidos do que os drivers que vem junto com a placa (naturalmente bem mais antigos). Em alguns casos, a diferença de desempenho pode passar de 50%!

No caso de chipsets que são usados em várias placas diferentes, como o Riva TnT ou os GeForce, fabricados pela Nvidia, mas vendidos para diversos outros fabricantes que desenvolvem placas 3D baseados neles, você terá à sua disposição tanto drivers desenvolvidos pelo fabricante do chipset quanto drivers desenvolvidos pelo fabricante da placa. Se você comprou uma Hercules 3D Prophet II MX por exemplo, poderá tanto usar os drivers da Hercules quanto os drivers da Nvidia. Em alguns casos, os drivers do fabricante do chipset são melhores e em outros os drivers do fabricante da placa são melhores (em geral o mais recente será o melhor, porém isto não é sempre uma regra).

Surfando pela Net, você encontrará também drivers Beta, drivers que ainda estão em fase de testes e que por isso ainda não foram oficialmente liberados pelo fabricantes, mas que “vazaram” através de algum beta tester. Algumas vezes, você encontrará drivers beta disponíveis na própria página do fabricante. Neste caso, apesar de ainda não estarem prontos, os drivers já alcançaram um certo nível de maturidade, por isso são disponibilizados ao público.

Como sempre, um beta permite que você tenha novos recursos em primeira mão, mas não são totalmente estáveis. É como usar a versão beta de um novo Browser ou sistema operacional. Se você gosta de fuçar e de testar drivers, então boa diversão, mas se você gosta sossego, então utilize os drivers oficiais.

A Torre de Babel das APIs

Assim como todos os programas são construídos usando alguma linguagem de programação, como o C++, Visual Basic, Delphi etc. que permitem ao programador construir seu aplicativo e acessar os recursos do sistema, os aplicativos 3D, em especial os jogos, são construídos através de uma interface de programação ou seja, uma API (Application Programming Interface).

Simplificando, uma API é mais ou menos como uma linguagem de programação para gerar gráficos 3D, composta de vários comandos que permitem ao programador construir as imagens, aplicar os efeitos 3D, e assim por diante. Todos os jogos são construídos com base nos recursos permitidos por uma das APIs disponíveis no mercado. Estão em uso atualmente, apenas três APIs em uso: Direct3D (ou “D3D”), OpenGL e Glide.

Direct3D: Desenvolvida pela Microsoft, o D3D é a API mais utilizada atualmente. Esta não é a API com mais recursos, nem a mais rápida, mas entre as três é a mais fácil de utilizar, motivo de sua fácil aceitação. De qualquer maneira, os recursos permitidos pelo D3D não são nada modestos, e permitem criar jogos com gráficos belíssimos.

Esta API pode ser utilizada por qualquer placa 3D, é preciso apenas que o fabricante desenvolva o driver adequado. Felizmente, existem drivers D3D para praticamente todas as placas 3D atuais, apesar de em algumas o desempenho ser melhor do que em outras, devido à sofisticação dos drivers.

Esta API está em constante desenvolvimento. Os novos recursos do D3D vão sendo incorporados às placas já existentes através de novos drivers (mais um motivo para você visitar periodicamente a página do fabricante da sua placa e baixar as novas versões) resultando em um aumento tanto da qualidade de imagem quanto de desempenho.

Na verdade, o Direct3D faz parte do DirectX da Microsoft, e por isso todos os jogos que rodam sobre esta API precisam que o DirectX esteja instalado na máquina. Na falta de uma aceleradora 3D, os jogos feitos em D3D (a menos que o desenvolvedor determine o contrário) podem ser executados em modo software, onde o processador sozinho faz todo o trabalho. Claro que rodando em modo software o desempenho será muito ruim, mesmo em baixas resoluções.

OpenGL: Se o D3D é a API mais fácil de utilizar, o OpenGL é a API que possui mais recursos. Originalmente, o OpenGL foi desenvolvido para ser utilizado em aplicações profissionais e, de fato, é praticamente a única API 3D utilizada em aplicativos como o 3D Studio MAX, programas de engenharia e outros aplicativos profissionais.

Os fabricantes de jogos logo perceberam que também poderiam usar esta poderosa ferramenta em seus produtos. Um dos primeiros títulos foi o GL Quake, uma versão do Quake 1 modificada para utilizar efeitos 3D em OpenGL, que abriu o caminho para o lançamento de vários outros títulos.

Um dos principais problemas desta API é o fato de ser incompatível com um número considerável de placas de vídeo, não devido à limitações de hardware, mas simplesmente por falta de drivers. Em outros casos, a placa de vídeo é compatível, mas os drivers são ruins, aproveitando apenas alguns dos recursos da API, resultando em baixa performance e baixa qualidade de imagem.

Os drivers OpenGL são chamados de drivers OpenGL ICD, ou “Installable Client Driver”. O termo ICD é usado em relação a um driver completo, que suporta todos os recursos OpenGL. Muitas vezes, os fabricantes lançam também mini-drivers, chamados de “mini-GL”, ou “mini-ICD” otimizadas para jogos. Estes drivers possuem apenas algumas das instruções OpenGL, justamente as utilizadas pelos jogos. Com menos instruções, fica mais fácil para os fabricantes melhorarem a performance do driver e incluírem suporte às instruções 3D-Now! e SSE, melhorando a performance dos drivers e consequentemente da placa. Claro que estes mini-drivers servem apenas para jogos; para rodar aplicativos profissionais, você precisará ter instalado do driver ICD completo.

Existem poucos títulos compatíveis apenas com o OpenGL. Na grande maioria dos casos, o jogo é compatível tanto com o OpenGL quanto com o D3D ou Glide e, em alguns casos, com as três. Nestes casos geralmente é possível escolher qual API será utilizada na janela de configuração do jogo.

Como o OpenGL também é compatível com o DirectX, muitos jogos podem ser executados em modo software na falta de uma placa 3D.

Glide: Entre as três, o Glide é a API mais antiga e ao mesmo tempo a mais simples. Foi desenvolvida pela 3dfx para ser usada em conjunto com seus chipsets Voodoo (usados na Monster 1, Monster 2, Voodoo 3, entre várias outras placas). O problema é que o Glide sempre foi uma API proprietária, e por isso compatível apenas com as placas com chipset 3dfx. Durante muito tempo, esta foi a API mais usada, pois na época (a uns 3 anos atrás) as placas com chipset Voodoo eram de longe as mais vendidas.

Conforme foram sendo lançadas placas 3D de outros fabricantes (que eram compatíveis apenas com D3D e OpenGL) os fabricantes de jogos foram pouco a pouco abandonando o uso do Glide, em nome da compatibilidade com o maior número de placas possíveis. De um ano para cá, não tivemos o lançamento de nenhum jogo compatível apenas com o Glide, tivemos alguns lançamentos interessantes que ainda utilizam o Glide, mas todos também rodam usando D3D ou OpenGL ou mesmo tem compatibilidade com ambos.

De qualquer maneira, mesmo entre os jogos mais atuais, existem casos de jogos que rodam bem melhor usando Glide do que usando outras APIs, e consequentemente apresentam uma qualidade ou velocidade maior em placas Voodoo. Um exemplo é o Unreal Torment, que é compatível com as três APIs, mas roda mais rápido em Glide.

Glide Wrappers: O Glide é uma API proprietária, suportada apenas pelas placas equipadas com chipsets de vídeo da 3dfx. Recentemente, o Glide passou a ser uma API aberta, mas até agora poucos fabricantes se interessaram por incluir suporte a Glide em sua placas. Mas, se por acaso chegar às suas mãos um jogo que suporte apenas o Glide, e você tiver uma Viper v550 por exemplo, nem tudo está perdido. Quase sempre, é possível rodar o jogo, mesmo que a sua placa não suporte Glide, usando um Wrapper.

Um Wrapper é um programa que funciona como uma espécie de emulador, convertendo os comandos Glide enviados pelo jogo para comandos D3D ou OpenGL que a placa possa executar. Claro que existem algumas limitações: os Wrappers não funcionam com todos os jogos, a qualidade de imagem não é tão boa quanto numa placa com suporte nativo a Glide, e o desempenho não é dos melhores, pois como as instruções são bem diferentes, normalmente é preciso usar várias instruções D3D ou OpenGL para emular cada instrução Glide. De qualquer modo, é melhor que o jogo rode com algumas limitações do que simplesmente não rode, não concorda? :-)

Dois bons Wrappers (ambos são gratuitos) são:

Hang Glide: (http://www.cs.colostate.edu/~zinkevic/programs.html)

XGI200: (http://www.paradux.com/~spcutler/xgl200/)


 



HOSPEDAGEM DE SITES E REGISTRO DE DOMÍNIO GRATIS É NA BHSITE.COM.BR