Pourquoi n'y a-t-il pas plus de jeux exécutables 64 bits? [fermé]

10

Jusqu'à présent, j'ai vu que de nombreux jeux sont toujours compilés en architecture 32 bits bien que près de 50% des utilisateurs actuels de Windows utilisent un système d'exploitation 64 bits. Pourquoi est-ce?

Si la raison est d'avoir un public plus large (puisque l'application 32 bits pourrait fonctionner sur 64), pourquoi n'en font-ils pas deux versions, car il s'agit plus ou moins de recompilation et l'exécution d'applications 64 bits pourrait améliorer les performances en raison de plus registres CPU disponibles et autres fonctionnalités.

uray
la source
World of Warcraft vient de commencer à expédier un exécutable 64 bits et je pense que les jeux Source (au moins Valves) ont des versions 64 bits. Il semble donc que les gens sautent dans le train.
Kyle

Réponses:

13

Ce blog MSDN expliquant pourquoi il n'existe pas de version 64 bits de Visual Studio résout de nombreux problèmes qui affectent également les jeux. L'essentiel est que passer à 64 bits peut en fait nuire aux performances dans de nombreux cas en raison de l'effet sur le cache du processeur (plus de données avec 64 bits, mais la même taille de cache).

La mémoire adressable supplémentaire pourrait aider, mais peu de machines grand public ont de toute façon plus de 4 Go de mémoire. Ajoutez à cela la peine de distribuer deux binaires pour Windows, et il est facile de décider que le moment n'est pas encore venu pour les jeux 64 bits.

kevin42
la source
5
Je pense que votre deuxième paragraphe était vrai il y a 2 ans, mais pas aujourd'hui.
Bart van Heukelom
5

Lors de mon travail précédent, nous avons porté l'intégralité de notre moteur (MMO) sur 64 bits, et nous avons fini par exécuter un client 64 bits à quelques endroits dans le cadre du pipeline de développement afin de prétraiter les données. Mais, nous ne livrerions jamais un client 64 bits aux utilisateurs finaux.

Tout d'abord, l'amélioration des performances est très mineure, et la plupart des jeux PC finissent par être limités en GPU dans tous les cas.

Deuxièmement, très peu d'utilisateurs finaux ont suffisamment de RAM pour tirer parti d'un exécutable 64 bits, et tout moteur qui est même vaguement conçu pour les consoles (dont le maximum à 512 Mo se souvient) ne sera pas optimisé pour une grande mémoire disponible.

Enfin, avoir 2 exécutables dans votre pipeline de distribution est une énorme douleur dans le cul. Vous ne pouvez pas uniquement expédier un exécutable 64 bits, car alors 30% de votre audience ne peut pas l'exécuter. Vous devez donc expédier à la fois un exécutable 64 bits et 32 ​​bits, ainsi qu'une sorte de wrapper qui exécute le bon. Si vous êtes un jeu en ligne, cela signifie un fichier supplémentaire de plusieurs mégaoctets à corriger à chaque changement de code et une complexité supplémentaire pour vous assurer que la bonne version arrive au bon joueur. Cela ne vaut tout simplement pas l'effort pour les avantages mineurs.

Ben Zeigler
la source
2

S'il s'agissait simplement d'une recompilation, nous aurions une version 64 bits de tous les jeux.

Malheureusement, ce n'est pas si simple, spécialement avec les moteurs de jeux avec une ancienne base de code.

Le portage sur 64 bits demanderait beaucoup d'efforts dans ce cas. Dire simplement que les avantages pour l'instant n'étaient pas suffisants pour que cela en vaille la peine.

NocturnDragon
la source