quinta-feira, 17 de setembro de 2015

Recursos Avançados

Além dos recursos básicos, muitas das aceleradoras atuais possuem outros recursos, capazes de melhorar ainda mais a qualidade das imagens. Os recursos a seguir permitem uma pequena melhoria na qualidade final das imagens, mas, em compensação, consomem valiosos recursos de processamento. Muitos utilizadores com máquinas mais lentas preferem desabilitar estes recursos para melhorar o frame rate, o número de quadros gerados por segundo.

Phong Shadding
Este recurso é uma evolução do Gourad Shadding. A função é a mesma, permitir aplicar efeitos de luz sobre um polígono, simulando superfícies plásticas ou metálicas.

Os efeitos gerados usando o recurso de Gourad Shadding geram imagens muito bonitas, mas não perfeitas. Em muitos casos, as imagens parecem sintéticas demais. Isto acontece por que o efeito de luz gerado pelo Gourad Shadding é bastante simples: simplesmente são determinadas as intensidades máximas e mínimas de luz dentro do polígono e a seguir é feito um degradê.

O Phone Shadding, por sua vez, utiliza um algoritmo muito mais complexo, que calcula a intensidade de luz ponto por ponto, baseada na posição individual de cada ponto em relação ao ponto de luz. O resultado é um pouco melhor, mas é preciso muito mais processamento.

32 bits de cor
Os primeiros jogos 3D, como o Doom 1, suportavam o uso de apenas 256 cores, o que limitava muito a qualidade de imagem. Quando os jogos passaram a utilizar 65 mil cores (16 bits), todos perceberam um enorme salto na qualidade das imagens; finalmente os desenvolvedores tinham cores suficientes para aplicar efeitos de luz e sombra convincentes e construir texturas mais detalhadas.
 
Como tudo evolui, a maioria das aceleradoras 3D atuais são agora capazes de gerar imagens 3D usando 32 bits de cor, ao invés dos 16 bits usados até pouco tempo atrás. Com mais cores disponíveis é possível gerar transições de luz mais suaves, melhorando um pouco a qualidade da imagem. Dá para perceber a diferença principalmente quando temos uma imagem com um degradé feito em uma única cor, por exemplo, uma grande textura onde temos um degradé que vai do vermelho claro a um vermelho um pouco mais escuro, por exemplo.

Usando 65 mil, cores temos disponíveis apenas 256 tonalidades de vermelho. Caso fosse feita uma transição do vermelho claro ao vermelho médio, poderiam ser usados (digamos) 50 tons na transição. É bem pouco caso a textura seja grande.

Veja um exemplo de uma textura de 2048 x 2048 pontos, criada usando 32 bits de cor (à esquerda), mostrada numa placa que suporte apenas o uso de 65 mil cores (à direita). Veja como o fundo fica distorcido (as imagens são cortesia da 3dfx Inc.):


A grande polémica é justamente o quanto a qualidade aumenta. Numa imagem estática, grande e que usa poucas tonalidades de cor, como a textura acima, que só usa tonalidades de vermelho, é fácil perceber a diferença, mas num jogo de movimentação rápida ela não é tão perceptível assim.

Além disso, só existe uma diferença realmente perceptível em transições de luz e mesmo assim quando a textura é grande, como nas ilustrações acima. Em texturas pequenas não dá pra notar diferença alguma.

Usando 32 bits de cor, o desempenho da placa de vídeo é sempre um pouco menor do que usando apenas 16 bits, já que a quantidade de dados a serem processador será muito maior e o barramento com a memória é mais exigido. Este recurso pode ser desabilitado através da configuração do vídeo ou, em alguns casos, a partir do próprio jogo; a escolha é sua. A queda de desempenho varia de placa para placa. Veja os números obtidos usando uma Viper v770:


Outras placas simplesmente não possuem este recurso. As placas com chipsets Voodoo são bons exemplos. Todas, com exceção apenas das placas Voodoo 4 e Voodoo 5, são capazes de gerar imagens de apenas 16 bits de cor. Veja que estamos falando no número de cores usadas dentro dos jogos, em 2D as placas com o Voodoo 3 exibem true color normalmente.

As placas que têm a maior perda de desempenho ao usar 32 bits de cor são as que possuem um barramento de dados mais estreito com a memória RAM, seja por usarem memórias SDR ao invés de memórias DDR, ou seja por aceder à memória a apenas 64 bits ao invés de 128. Usando 32 bits de cor, a placa precisará transferir o dobro de dados para a memória a cada quadro. Na prática, é como se o barramento com a memória fosse reduzido à metade. 

É por isso que placas com um acesso muito rápido à memória, como a GeForce  Ultra, perdem menos desempenho ao usar 32 bits do que uma GeForce 2 MX por exemplo, que possui um barramento muito mais estreito.

in Manual de Hardware Completo
de Carlos E Marimoto

Sem comentários: