Tendências do dia

Este jogo para Windows gerou 5.000 FPS sem derreter placas gráficas ou CPUs, e conseguiu isso porque um desenvolvedor não limitou um recurso

Mesmo hoje em dia, é impraticável atingir essa taxa de quadros e, neste caso, a parte do PC que mais sofreu foi a CPU, e não a GPU

3D Pinball: Space Cadet
Sem comentários Facebook Twitter Flipboard E-mail
fabricio-mainenti

Fabrício Mainenti

Redator

O debate sobre se um videogame precisa ou não de mais FPS vem acontecendo há muito tempo, mesmo que não pareça. Foi somente com o advento de monitores com taxas de amostragem de três dígitos que as pessoas começaram a teorizar sobre quão alta a taxa de quadros de um videogame deve ser para que ele seja realmente fluido ou competitivo.

A maioria dos monitores topo de linha atuais atinge taxas de 120 Hz, 144 Hz ou até 200 Hz. Deixando de lado a questão de saber se o olho humano é capaz de perceber as diferenças entre essas e outras frequências, como você se sentiria se disséssemos que o "recorde" de FPS já visto em um videogame não foi alcançado em uma demonstração recente? É isso mesmo. A primeira vez que um jogo atingiu uma taxa de amostragem de quatro dígitos — especificamente, 5.000 — foi muito antes de 60 FPS se tornar o "padrão" para jogos. Isso foi alcançado por um jogo de pinball rodando no Windows NT.

Um "recorde" alcançado graças a um bug

O responsável por este curioso "recorde" é um ex-programador da Microsoft, Dave Plummer. A PC Gamer destacou entre seus trabalhos para a empresa fundada por Bill Gates e seu sistema operacional Windows — citando o The Register — o Gerenciador de Tarefas, o suporte a arquivos compactados em ZIP, além de outras contribuições de natureza diversa. E agora podemos atribuir a ele, pelo menos de forma anedótica, o fato de um videogame ter atingido a marca de 5.000 quadros gerados por segundo em execução.

Dave Plummer | Reprodução: Youtube Dave Plummer | Reprodução: Youtube

Em seu canal do YouTube, Dave's Attic, Plummer conta que estava trabalhando na versão para Windows NT do videogame 3D Pinball: Space Cadet; um dos jogos mais populares dos anos 90, que recebeu inúmeras versões para diversas máquinas e com visuais diferentes. Na verdade, ele vinha pré-instalado em alguns pacotes do Windows, como o Windows 95 (com o Plus! Pack) e o próprio NT, o que contribuiu para sua popularidade. Para acompanhar a versão para NT, Plummer estava programando e desenvolvendo o motor de jogo para aquele ambiente.

Ele decidiu escrever um novo motor do zero com base no original, quando de repente notou uma falha: "Meu motor tinha um bug que o fazia desenhar quadros mais rápido do que deveria. A codificação era baseada em uma arquitetura de CPU que atingia 200 MHz", um número impressionante para os anos 90.

Existiam várias versões do jogo 3D Pinball: Space Cadet Existiam várias versões do jogo 3D Pinball: Space Cadet

Inicialmente, o jogo suportava entre 60 e 90 FPS, e ele acrescenta: "Alguns anos depois, alguém notou que, se o jogo rodasse em computadores com CPU multi-core, o bug persistia, mas agora chegava a 5.000 FPS". Os usuários notavam como um ou mais núcleos de seus computadores funcionavam a 100% da capacidade ao rodar 3D Pinball: Space Cadet.

Foi o pior bug de sua história como programador

Plummer não tem vergonha de admitir que foi o bug mais catastrófico que encontrou durante seus anos como desenvolvedor. Inicialmente, e após o lançamento das primeiras versões, outro desenvolvedor da Microsoft, Raymond Chen, criou um comando dentro do programa que limitava o FPS a um máximo de 100, mesmo quando não havia monitores capazes de atingir esse nível (como ele explica em outro canal de Plummer, o Dave's Garage). 

Posteriormente, a Microsoft lançou atualizações do Service Pack para as versões afetadas do Windows NT para reforçar a segurança e evitar o uso excessivo da CPU.

Seria interessante ver quantos FPS o jogo conseguiria gerar em um computador moderno. Considerando que as CPUs modernas têm até oito núcleos e oferecem várias vezes o desempenho por thread das da década de 1990, poderíamos estar falando de algo entre 200.000 e 400.000 FPS em condições ideais e nos casos mais extremos. É claro que, além da curiosidade técnica, nenhum ser humano conseguiria detectar uma queda de FPS para esses números, assim como era impossível percebê-la durante o "recorde" original de 5.000.

Inicio