Uma das questões mais levantadas pelos jogadores que cobram bons gráficos em um game é a diferença entre a versão para consoles e a que aparece nos computadores. Mas que diferença? Em muitos casos, o que vemos em nosso PC é quase a mesma coisa transmitida pelos video games. É no papel que a história fica bem diferente.
As placas de vídeo lançadas juntamente com o Xbox 360, por exemplo, podem até gerar algum efeito de comparação. Mas os modelos mais atuais deveriam fazer, em teoria, os jogos dessa geração parecerem ultrapassados. O diretor de relações de desenvolvedores da AMD, Richard Huddy, vai mais além: ele afirma que os computadores teriam um processamento dez vezes melhor, mas alguns obstáculos impedem que eles tomem a liderança.
A GeForce GTX 590, um dos últimos lançamentos do mercado, possui uma capacidade gráfica invejável. (Fonte da imagem: Divulgação/Asus)
O principal motivo é que os jogos multiplataforma são convertidos a partir de um denominador comum, que também é o mínimo possível. Assim, fica mais fácil o desenvolvimento de todos os aspectos do game, não é necessário gastar tanto dinheiro e seu lançamento não atrasa. O resultado é apenas satisfatório, mas nada excepcional.
O Baixaki explica agora quais são e o porquê da existência dessas barreiras e, principalmente, se a eliminação delas traria tantas melhorias para o mundo dos games.
Culpado!
Para Richard Huddy, o principal sistema que causa tanto atraso é o famoso Microsoft DirectX. Ele é um conjunto de APIs, ou Interfaces de Programação de Aplicativos, que servem para padronizar um software e permitir sua construção em diversos sistemas.
Esse serviço atua como um intermediário entre o hardware e a programação, fazendo com que eles se comuniquem sem apresentar problemas de compatibilidade. Desse modo, um jogo que é produzido acima do processamento padrão atual acaba sendo limitado pelo DirectX para poder operar nos mais diversos sistemas.
Mesmo em sua 11ª edição, ele ainda não atingiu o alto nível prático que já foi estabelecido pelas placas gráficas. É a partir desse pensamento que Huddy constrói sua ideia: eliminar o DirectX e ligar diretamente o código de programação com o hardware da máquina.
Comparação entre Resident Evil 5 no PC (à esquerda) e no Xbox 360 (à direita): diferenças no detalhamento e na nitidez. (Fonte da imagem: PcGamesHardware)
Assim, os desenvolvedores teriam acesso às camadas mais básicas de programação, na chamada linguagem low-level. Esse aspecto é muito pedido por quem está produzindo: muitas vezes, não é nem a maior capacidade que as empresas querem, mas o controle total sobre a máquina.
Com o acesso conquistado, os ganhos no desempenho dos jogos seriam absurdos, especialmente na parte gráfica, afinal não haveria nenhuma limitação para o uso da total capacidade de um hardware potente.
Mas nem sempre foi assim. Após o DirectX 8, foram disponibilizados para os programadores alguns shaders que permitiam a passagem de códigos sem se preocupar com o hardware. Com uma base já existente, muitos jogos que surgiram possuíam diversas similaridades nos efeitos ou cenários.
O outro lado da moeda
Para muita gente, assassinar o DirectX seria um erro – ou até ingratidão. Ao longo dos anos, foram muitas as contribuições que ele proporcionou para a indústria, especialmente no desenvolvimento de novas técnicas e gráficos em 3D.
Há quem afirme que ele supera com facilidade o OpenGL, seu principal concorrente, que apresenta uma arquitetura similar, mas em código aberto. Responsável pela engine de jogos como Doom e Wolfenstein 3D, John Carmack afirmou que o Direct3D permitiu inúmeros avanços na área de jogos, mesmo com limitações na compatibilidade, enquanto o OpenGL estagnou-se.
O tão comentado Crysis, que utiliza o máximo de capacidade de processamento da máquina.
Além disso, para produzir um jogo extremamente belo, como Crysis, é necessário muito mais tempo e dinheiro que um jogo funcional, como os da série Call of Duty – e, comercialmente, a segunda opção é muito mais efetiva.
O crime compensa?
A eliminação dos APIs é uma questão bastante delicada. Se por um lado teríamos jogos extremamente potentes, o acesso a eles seria igualmente restrito. Com modificações diretas no hardware, apenas alguns modelos teriam suporte para rodar os jogos produzidos, enquanto a generosa biblioteca de recursos já disponíveis facilita o trabalho dos desenvolvedores.
Situações absurdas seriam criadas, como um lançamento funcionar apenas nos últimos dois ou três lançamentos do mercado, enquanto os demais teriam que esperar um jogo com código compatível.
O programador teria muito mais trabalho ao fazer cálculos específicos para cada versão de um jogo. A tão celebrada multiplataforma seria ainda mais limitada, também graças à codificação. Se hoje você já lamenta o lançamento exclusivo de alguns jogos por culpa da difícil portabilidade, reflita: sem o DirectX, poderia ficar pior.
Futuro brilhante
A mudança de pensamento dos programadores sobre utilizar ou não os APIs deve trazer alterações na indústria de processadores, mas não é possível determinar se isso já acontecerá em curto prazo. Tudo indica que a Microsoft não deve ceder totalmente tão cedo – ou seja, teremos que suportar o DirectX por algum tempo.
Por outro lado, as empresas dão sinal de que realizam pesquisas para mudar esse quadro. A Intel noticiou a morte definitiva da placa gráfica Larrabee, mas avisou que usará a tecnologia que combina características da CPU (unidade central de processamento) com a GPU (unidade de processamento gráfico) em novos projetos.
Outras mudanças radicais na arquitetura da programação podem ganhar espaço, como o uso de CUDA cores, da NVIDIA, que diminuem o tempo de processamento gráfico ao utilizar uma computação paralela, ou processamento por Stream, que simplifica a relação entre software a hardware.
Empenho de empresas na pesquisa pode render novidade ainda mais cedo do que imaginamos.
Em uma demonstração recente da Unreal Engine 3, é possível conferir aonde os gráficos para PC podem chegar. Apesar de ter sido rodado a partir de três placas de vídeo GeForce GTX 580, essa apresentação ilustra a capacidade que o computador tem como plataforma de jogos sem a limitação dos APIs. No futuro, por exemplo, o mesmo material poderia ser rodado utilizando apenas uma placa gráfica.
Apesar se não ser possível afirmar quando as evoluções gráficas e o uso do potencial máximo de hardwares vão ocorrer, já é fato que os computadores estão cada vez próximos de se consolidarem como plataformas de jogos. As placas de vídeo lançadas em massa – e cada vez mais poderosas – deixam as máquinas cada vez mais adequadas para receber jogos que atingem os limites visuais da atualidade.
Categorias