Conheça as tecnologias que fazem os games modernos beirarem o realismo

Por Pedro Cipoli

Quando combinamos placas de vídeo de última geração com os jogos baseados no DirectX 11 e Unigine, temos como resultado um nível de detalhamento que beira o realismo. Mais do que um número enorme de frames por segundo, os filtros e efeitos disponíveis nesses jogos oferecem uma experiência muito melhor, e hoje vamos conhecer cada um deles. Confira!

Tessellation

Todos os componentes dos jogos modernos, desde personagens até os cenários, são formados basicamente por polígonos de diferentes formas e tamanhos, e quanto menores e mais abundantes eles forem mais realísta é a jogabilidade. Essa é exatamente a função do Tessellation, que diminui o tamanho dos polígonos utilizados nos objetos para criar mais texturas, dando mais vida aos personagens e cenários que parecem reais.

Tessellation

Sendo exclusivo de jogos desenvolvidos com a tecnologia DirectX 11 e aplicações que utilizam OpenCL, os benefícios são mais observados nas expressões faciais de personagens e em cenários que incluem pedras, grama ou terra. Naturalmente, existe um peso maior de processamento sobre a placa de vídeo, e por isso os fabricantes de games colocam a configuração do Tessellation em elementos individuais. Por exemplo, é possível melhorar a qualidade da água, do terreno e assim por diante, não existindo uma opção "Tessellation" para todos os elementos de uma só vez no menu de configuração.

Tessellation

Outros jogos trabalham com Presets, que são níveis de qualidade específicos para tipos diferentes de placas de vídeo. É possível jogar Crisis 2 em uma placa de vídeo que não seja de altíssimo desempenho, desde que se configure o Preset (que inclui Tessellation, Anti-Aliasing etc) como mínimo, por exemplo. No vídeo abaixo é possível ver o Tessellation em ação em uma demonstração de uma placa de vídeo ATI (atual AMD):

Qualidade de texturas: Anisotropic Filtering

Tudo começou com o Bilinear Filtering, que utilizada algoritmos de correção de detalhes para melhorar as texturas das imagens em tempo real. Em seguida apareceu o Trilinear Filtering, que através de três versões de uma mesma imagem acabava gerando uma outra imagem final com a melhor qualidade possível, técnica essa que deu origem ao Filtro Anisotrópico que conhecemos atualmente. Confira abaixo a evolução das técnicas de melhoramento de texturas:

  • Bilinear Filtering: primeira forma de suavizar texturas a aparecer no mercado utilizando algoritmos de correção de erros, ideal em imagens que são mostradas em tamanho menor do que o original;
Bilinear Filtering
  • Trilinear Filtering: interpola diferentes resoluções de uma imagem (como 512x512, 256x256 e 128x128) para chegar em uma versão com a melhor qualidade possível. Como renderiza três imagens diferentes ao mesmo tempo, acaba ocorrendo uma perda computacional da placa de vídeo, que é capaz de gerar menos quadros por segundo, mas nos modelos atuais (série HD 7000 da AMD e GTX 600 da NVIDIA) essa perda é insignificante;
Trilinear Filtering
  • Filtro anisotrópico: basicamente uma evolução do Trilinear Filtering, mas utilizando um número muito maior de imagens para produzir as texturas incluindo versões oblíquas da mesma imagem, como 64x512 e 128x64 por exemplo. Em games é possível escolher valores como 2x e 4x, normalmente chegando ao máximo de 32x, que é 2 vezes, 4 vezes e até 32 vezes, respectivamente, mais imagens utilizadas do que o Trilinear Filtering.
Anisotropic Filtering

Por gerar um número de imagens muito maior do que o normal, placas de vídeo com barramentos de memória pequenos acabam sofrendo pesadamente com o aumento do Filtro Anisotrópico, pois são realizadas muito mais transferências por segundo. Em geral, quando configurados como 2x, 4x ou 8x já há um aumento perceptível de qualidade, onde os estágios seguintes melhorarão um pouco mais, mas impactará na quantidade de quadros por segundo que a placa de vídeo é capaz de gerar.

No vídeo abaixo é possível perceber a diferença entre todos os filtros citados acima no game World of Warcraft, onde o jogador muda de uma para outra.

Anti-aliasing (Anti-serrilhamento)

Para entender o efeito de serrilhamento basta dar zoom em uma foto qualquer e observar o que acontece com as bordas. Todas as imagens que vemos no monitor são construídas juntando-se pixels de diferentes cores, por isso objetos menores acabam ficando pixelizados, assim como qualquer tipo de detalhe acaba com a aparência de serras. É aí que entra o Anti-Aliasing, ou Anti-serrilhamento, que utiliza diferentes técnicas para essas situações:

  • SSAA (SuperSampling Anti-Aliasing): algoritmo bastante simples que faz a placa de vídeo renderizar imagens em resoluções 2, 4 ou 8 vezes maiores que a utilizada para rodar o game e, assim, suaviza os detalhes. Por exemplo, se a resolução do jogo for 1280x720 (720p) a placa de vídeo renderizará imagens de 2560x1440 (Quad-HD) se o SSAA for configurado como 4X (4 vezes maior). Naturalmente, como a imagem é muito maior do que a original, isso impactará severamente na quantidade de quadros por segundo que a GPU pode gerar;
Anti-Aliasing - SSAA
  • MSAA (Multi Sampling Anti-Aliasing): mais leve e eficiente do que o SSAA, o MSAA utiliza várias cópias dos pixels utilizados para gerar a imagem e os interpola através de um algoritmo. Se for habilitado como 4X, por exemplo, e 4 pixels forem iguais, eles serão processados como se fossem apenas 1. Essa é a grande vantagem em relação ao SSAA, que necessitaria de 4 vezes mais processamento mesmo se todos os pixels forem iguais.
Anti-Aliasing - MSAA

No vídeo abaixo é possível ver as diferenças de serrilhamento com o Anti-Aliasing desativado e ativado:

  • TXAA Anti-Aliasing: atualmente exclusivo das placas de vídeo de alto desempenho da série GTX 600 (como GTX 670 e GTX 680), o TXAA combina o MSAA com filtros de correção utilizados em filmes de computação gráfica para oferecer um nível de correção maior e consumindo menos recursos. Tecnicamente, um TXAA 2X oferece a mesma qualidade de um MSAA 8X, mas consumindo menos recursos nos jogos compatíveis com essa tecnologia.
Anti-Aliasing - TXAA

Abaixo, imagens do game The Secret World, que possui suporte a essa tecnologia:

Muitos games possuem as configurações de Anti-Aliasing descritas genericamente como FSAA (Full-Screen Anti-Aliasing), que pode ser tanto o SSAA como MSAA ou qualquer outro tipo de filtro exclusivo do jogo.

V-Sync

A grande maioria dos monitores LCD mais novos trabalham com uma taxa de atualização de imagem de 60 Hz, ou seja, é capaz de exibir 60 imagens diferentes por segundo. Dessa forma, não adianta sacrificar os efeitos e filtros dos games para jogar com 150 FPS (Frames Por Segundo) sendo que o monitor só exibe 60 e descarta o resto. Para manter a taxa de atualização de quadros do monitor igual ao que é gerado pela placa de vídeo, é utilizado um recurso chamado V-Sync, que no caso dos monitores comuns mantém o jogo à taxa de 60 quadros por segundo.

Mas o que acontece se a placa não conseguir gerar 60 frames por segundo? Então, o sistema simplesmente repete o quadro anterior, evitando um fenômeno conhecido como Tearing, onde a cena aparece cortada pois mistura a imagem que está sendo processada naquele momento com a que já estava no monitor. O Tearing acontece quando o V-Sync está desativado e a placa de vídeo "atropela" os quadros na hora de exibí-los.

É possível utilizar o V-Sync de três formas diferentes para eliminar o Tearing:

  • Double Buffering: utiliza um buffer de 2 imagens, repetindo-a uma vez em caso de baixo FPS;
  • Triple Buffering: utiliza um buffer de 3 imagens, repetindo-a duas vezes em caso de baixo FPS;
  • Adaptive V-Sync: tecnologia exclusiva da NVIDIA que ativa/desativa o V-Sync conforme a capacidade da placa de vídeo em gerar a mesma taxa de frames do que a suportada pelo monitor. Se a GPU é capaz de gerar mais do que 60 FPS o V-Sync é ativado para evitar o Tearing. Caso Contrário ele é desligado e todo frame gerado por ela será exibido no monitor;

PhysX

Tecnologia originalmente desenvolvida por uma empresa chamada Ageia, que foi adquirida posteriormente pela NVIDIA (conheça mais detalhes do PhysX). Ela permite que os cálculos físicos dos jogos, que anteriormente eram feitos pela CPU, passem a ser processadas na GPU, dando um enorme ganho de qualidade nos jogos que são compatíveis com essa tecnologia.

O jogo que atualmente é o carro-chefe da NVIDIA para demonstrar essa tecnologia é Borderlands 2, que no vídeo abaixo é mostrado rodando em uma GTX 660 TI. É importante lembrar que não é necessário ter uma placa de vídeo da série GTX para tirar proveito dessa tecnologia, pois placas AMD também são capazes de utilizá-la se as configurações necessárias forem efetuadas.

Essas são algumas das tecnologias que permitem um nível muito maior de detalhes nos jogos mais modernos. Usuários que investem em placas de vídeo de altíssimo desempenho buscam níveis cada vez maiores de qualidade através dos filtros e efeitos acima na maior resolução possível, onde duas, três e até 4 placas de vídeo são necessárias para rodar os games sempre no máximo.

Placas de vídeo de entrada são até capazes de rodar os jogos mais modernos sem apresentar lentidão, mas é necessário utilizar resoluções menores e desativar alguns detalhes, tirando parte da experiência que o jogo é capaz de oferecer, pois cada um dos itens acima reduz a capacidade da GPU em manter uma boa taxa de atualização de quadros em benefício de um nível maior de detalhes.

Conhecia as tecnologias acima? Comente!

Siga o Canaltech no Twitter!

Não perca nenhuma novidade do mundo da tecnologia.