Até agora, vi que muitos jogos ainda são compilados na arquitetura de 32 bits, embora quase 50% dos usuários atuais do Windows estejam no sistema operacional de 64 bits. Por que é isso?
Se o motivo é a obtenção de um público maior (já que o aplicativo de 32 bits pode ser executado em 64), por que eles não criam duas versões, uma vez que se trata mais ou menos de recompilação e a execução de aplicativos de 64 bits pode trazer benefícios de desempenho devido a mais registradores de CPU disponíveis e outros recursos.
Respostas:
Este blog do MSDN sobre por que não existe uma versão do Visual Studio de 64 bits aborda muitos dos problemas que também afetam os jogos. A essência disso é que a migração para 64 bits pode realmente prejudicar o desempenho em muitos casos, devido ao efeito no cache do processador (mais dados com 64 bits, mas o mesmo tamanho de cache).
A memória endereçável adicional pode ajudar, mas poucas máquinas consumidoras possuem mais de 4 GB de memória. Adicione isso ao trabalho de distribuir dois binários para Windows, e é fácil decidir que ainda não é a hora certa para jogos de 64 bits.
fonte
No meu trabalho anterior, portamos todo o nosso mecanismo (MMO) para 64 bits e acabamos executando um cliente de 64 bits em alguns locais como parte do pipeline de desenvolvimento para pré-processar os dados. Porém, nunca enviaríamos um cliente de 64 bits para os usuários finais.
Primeiro, a melhoria de desempenho é muito pequena e a maioria dos jogos para PC acaba sendo limitada por GPU em qualquer caso.
Segundo, pouquíssimos usuários finais têm memória RAM suficiente para tirar proveito de um executável de 64 bits, e qualquer mecanismo que seja vagamente projetado para consoles (que se lembram no máximo em 512mb) não será otimizado para grande memória disponível.
Por fim, ter dois executáveis em seu pipeline de distribuição é um grande problema. Você não pode enviar apenas um executável de 64 bits, porque 30% do seu público não pode executá-lo. Portanto, é necessário enviar um executável de 64 bits e um de 32 bits, além de algum tipo de wrapper que execute o correto. Se você é um jogo on-line, isso significa um arquivo extra de vários megabytes para corrigir toda vez que qualquer código é alterado e complexidade adicional para garantir que a versão correta chegue ao player certo. Simplesmente não vale o esforço pelos pequenos benefícios.
fonte
Se fosse simplesmente uma questão de recompilação, teríamos a versão de 64 bits de todos os jogos.
Infelizmente, não é tão fácil, especialmente com mecanismos de jogos com uma base de código mais antiga.
Portar para 64 bits exigiria muito esforço nesse caso. Basta colocar as vantagens por enquanto não eram suficientes para que isso valesse a pena.
fonte