Do chip fixo à GPU programável: a evolução gráfica dos consoles

Das arquiteturas de circuito rígido da NES aos sistemas integrados da PlayStation 5 — acompanhe a trajetória que transformou a renderização de jogos

Os primeiros consoles de videogame não possuíam unidades de processamento gráfico (GPUs) programáveis, como as existentes atualmente. Por várias décadas, a tecnologia gráfica foi sustentada por chips dedicados, sistemas de sprites, tiles (blocos de imagem fixa) e técnicas de processamento linha por linha — também conhecidas como scanline processing. Essa abordagem permaneceu predominante na indústria de games até que a arquitetura dos consoles começasse a convergir progressivamente com o hardware encontrado nos computadores pessoais.

Gráficos personalizados para cada console

Antes mesmo da existência de GPUs capazes de rodar programas desenvolvidos por programadores, os consoles dependiam de circuitos projetados exclusivamente para gerar imagens.

A Nintendo NES constitui um exemplo representativo. Seu chip gráfico, denominado Ricoh 2C02 Picture Processing Unit, não executava códigos nem funcionava como uma GPU contemporânea. Ele recebia dados sobre os elementos visuais do jogo e os convertia em sinal de vídeo, construindo a imagem gradualmente à medida que era transmitida para a televisão.

Tal abordagem apresentava limitações bastante restritivas. Um dos casos mais emblemáticos ocorreu no Super Mario Bros., quando diversos inimigos surgiam alinhados numa mesma área horizontal da tela. Alguns sprites (elementos gráficos) desapareciam ou piscavam, pois o hardware da NES só conseguia processar oito sprites por scanline (linha horizontal da tela). Ao ultrapassar esse limite, o sistema precisava decidir quais elementos exibir.

Nintendo Entertainment System (NES)

Sprites, tiles e scanlines: como funcionava o hardware antigo

O funcionamento da NES estava intrinsecamente ligado aos televisores CRT da época. A imagem possuía resolução de 256 por 240 pixels e era composta a partir de blocos gráficos minúsculos de 8 por 8 pixels.

Aproximadamente 8 KB de memória armazenavam os padrões dos tiles (blocos gráficos) no cartucho, enquanto cerca de 2 KB de RAM no console eram destinados a dados como mapas de fundo. O próprio chip gráfico também conservava informações sobre posição, dimensão e atributos de dezenas de sprites.

Conforme o feixe eletrônico da televisão percorria cada scanline (linha horizontal de varredura), o hardware identificava quais tiles e sprites deveriam ser exibidos naquele momento. O processo ocorria praticamente em sincronia direta com o sinal de vídeo propriamente dito, o que restringia a capacidade do processador principal de alterar certos dados durante o desenho da imagem.

A NES já representava um avanço considerável em relação aos sistemas predecessores. Na Atari 2600, por exemplo, o processador central exercia papel bem mais ativo na geração da imagem. O Television Interface Adaptor não dispunha de um framebuffer tradicional, obrigando a CPU a fornecer informações continuamente enquanto cada linha era renderizada.

Antes ainda disso, a Magnavox Odyssey, lançado em 1972, nem sequer possuía um processador ou memória no sentido convencional. A geração da imagem dependia exclusivamente de lógica eletrônica baseada em componentes discretos.

Essa incompatibilidade técnica explica parcialmente por que muitos jogos retro apresentam aparência particularmente distintiva quando reproduzidos em televisores CRT. Hardware e softwares foram concebidos tendo esse tipo de tela como alvo primordial.

Magnavox Odyssey

PlayStation 2: arquitetura gráfica distribuída

A transição para gráficos tridimensionais tornou o processamento visual significativamente mais complexo. Em vez de um único componente gerir toda a imagem, diversos consoles passaram a distribuir as tarefas entre múltiplas unidades especializadas.

A PlayStation 2 constitui um caso particularmente emblemático. Lançado pela Sony em 1999, operava com o Emotion Engine como processador central e contava com um componente gráfico dedicado denominado Graphics Synthesizer.

Na versão final do console, o Emotion Engine operava aproximadamente a 295 MHz, enquanto o Graphics Synthesizer alcançava cerca de 147 MHz. Embora responsável pela renderização da imagem, este último não executava integralmente o trabalho necessário para converter modelos 3D em cenas na tela.

Considerável parte do processamento geométrico era realizada pelo Emotion Engine, especificamente através de suas unidades vetoriais. A VU0 podia ser empregada para diversas tarefas, enquanto a VU1 assumia predominantemente operações relacionadas a transformações espaciais tridimensionais.

Na prática, a geometria era processada antes de atingir o Graphics Synthesizer. Quando os triângulos chegavam a esse componente, já estavam posicionados no espaço da imagem. O chip podia, então, dedicar-se a funções como preenchimento de polígonos e aplicação de cores e texturas.

Essa divisão funcional não constituía exclusividade da Sony. Vários consoles da primeira geração de sistemas 3D recorriam a combinações de processadores e chips especializados para repartir o volumoso conjunto de operações necessárias à criação de imagens tridimensionais.

PlayStation 2

O nascimento da GPU moderna

Há ainda um detalhe curioso na história da terminologia. A Sony chegou a empregar a nomenclatura "GPU" para o chip gráfico da PlayStation original, desenvolvido em parceria com a Toshiba.

Entretanto, o conceito de GPU como o conhecemos atualmente difere substancialmente daquela designação inicial. A transformação decisiva ocorreu quando os processadores gráficos começaram a possibilitar que desenvolvedores executassem pequenos programas diretamente no hardware, controlando assim etapas específicas do pipeline de renderização.

A NVIDIA marcou um marco nesse caminho com a GeForce 3, lançada em 2001. Essa arquitetura implementou suporte a shaders programáveis de vértice e pixel, concedendo aos criadores controle muito mais flexível sobre o processamento gráfico.

Tratou-se de uma mudança paradigmática. Em lugar de depender exclusivamente de funções pré-definidas pelos fabricantes dos chips, os jogos puderam passar a empregar programas personalizados para gerar efeitos visuais específicos.

NVIDIA GeForce 3

O primeiro Xbox, lançado em 2001, representou uma virada particularmente significativa na arquitetura dos consoles.

A Microsoft apostou em um processador Intel baseado no Pentium III e em um chip gráfico personalizado desenvolvido pela NVIDIA, fundamentado na tecnologia da GeForce 3. O console também incorporava 64 MB de memória compartilhada e um disco rígido de 8 GB.

Esse conjunto aproximou substancialmente o Xbox da configuração típica de um computador pessoal. A adoção de hardware gráfico alinhado às tecnologias empregadas em PCs tornou-se progressivamente mais frequente nos consoles subsequentes. Ainda assim, essa transição não ocorreu de forma imediata.

O Nintendo GameCube, lançado no mesmo período, utilizava um processador PowerPC desenvolvido pela IBM. Já o Xbox 360 abandonou a arquitetura Intel e passou a operar com três núcleos PowerPC da IBM. Na PlayStation 3, o processador Cell — fruto do desenvolvimento conjunto entre Sony, Toshiba e IBM — também apresentava base PowerPC.

As sucessoras Nintendo Wii e Wii U conservaram versões aprimoradas da arquitetura originalmente empregada pela GameCube.

A convergência definitiva das arquiteturas modernas

Mesmo enquanto os processadores centrais seguiram rotas distintas por certo tempo, a tecnologia gráfica dos consoles aproximou-se progressivamente das estruturas empregadas nos computadores.

O Xbox 360 operava com um chip gráfico desenvolvido pela ATI, já a PlayStation 3 adotou uma solução da NVIDIA. A virada mais decisiva manifestou-se com o lançamento da PlayStation 4, em 2013.

O aparelho passou a empregar oito núcleos de processamento da AMD e uma arquitetura gráfica derivada das placas Radeon da mesma fabricante. A partir desse marco, a fronteira entre hardware gráfico de consoles e de PCs tornou-se consideravelmente mais tênue.

Os consoles contemporâneos representam a culminação dessa trajetória. PlayStation 5 e Xbox Series X integram oito núcleos AMD Zen 2 combinados com processamento gráfico baseado na arquitetura RDNA 2, ambos consolidados num único chip.

Do hardware fixo à computação gráfica programável

A jornada desde a NES até as máquinas contemporâneas revela uma transformação radical na forma como os jogos são renderizados nas telas. Os sistemas pioneiros dependiam de circuitos inflexíveis, sprites e processamento sincronizado com o sinal de vídeo. Hoje, desenvolvedores trabalham com GPUs altamente programáveis, capazes de executar vastas quantidades de operações em paralelo.

Em essência, essa evolução transcendeu a mera questão de aumento de velocidade. À medida que os títulos se tornaram mais complexos, tornou-se inviável criar do zero um sistema gráfico inteiramente distinto para cada console.

As arquiteturas de GPU já estabelecidas ofereceram solução mais flexível e economicamente viável, consolidando-se finalmente como a base do hardware gráfico contemporâneo.

 

O Visão Coruja manterá acompanhamento ativo dos desenvolvimentos nesta área de tecnologia de hardware gráfico e suas implicações históricas para a evolução dos consoles e desenvolvimento de jogos.

Acompanhe nossas análises periódicas sobre arquiteturas pioneiras, técnicas de renderização antigas e desenvolvimentos relevantes no cenário internacional de hardware de jogos.