Warum gibt es nicht mehr ausführbare 64-Bit-Spiele für Spiele? [geschlossen]

10

Bis jetzt habe ich gesehen, dass viele Spiele immer noch in 32-Bit-Architektur kompiliert sind, obwohl fast 50% der aktuellen Windows-Benutzer ein 64-Bit-Betriebssystem verwenden. Warum ist das?

Wenn der Grund dafür ist, dass ein größeres Publikum erreicht wird (da 32-Bit-Apps auf 64 ausgeführt werden können), warum nicht zwei Versionen davon erstellen, da es mehr oder weniger um Neukompilierung geht und das Ausführen von 64-Bit-Apps aufgrund von mehr Leistungsvorteilen bringen kann verfügbare CPU-Register und andere Funktionen.

uray
quelle
World of Warcraft hat gerade mit der Auslieferung einer ausführbaren 64-Bit-Datei begonnen, und ich glaube, dass Source-Spiele (zumindest Valves) 64-Bit-Versionen haben. Es sieht also so aus, als würden Leute auf den Zug springen.
Kyle

Antworten:

13

In diesem MSDN-Blog wird erläutert, warum es keine 64-Bit-Visual Studio-Version gibt, und viele der Probleme behandelt, die auch Spiele betreffen. Das Wesentliche dabei ist, dass die Verwendung von 64 Bit in vielen Fällen die Leistung beeinträchtigen kann, da dies Auswirkungen auf den Cache des Prozessors hat (mehr Daten mit 64 Bit, aber Cache gleicher Größe).

Der zusätzliche adressierbare Speicher könnte helfen, aber nur wenige Consumer-Computer verfügen ohnehin über mehr als 4 GB Speicher. Fügen Sie dies zu dem Problem hinzu, zwei Binärdateien für Windows zu verteilen, und es ist leicht zu entscheiden, dass die Zeit für 64-Bit-Spiele (noch) nicht richtig ist.

kevin42
quelle
5
Ich denke, Ihr zweiter Absatz war vor 2 Jahren wahr, aber nicht heute.
Bart van Heukelom
5

Bei meinem vorherigen Job haben wir unsere gesamte Engine (MMO) auf 64-Bit portiert und im Rahmen der Entwicklungspipeline an einigen Stellen einen 64-Bit-Client ausgeführt, um Daten vorzuverarbeiten. Wir würden jedoch niemals einen 64-Bit-Client an Endbenutzer liefern.

Erstens ist die Leistungsverbesserung sehr gering, und die meisten PC-Spiele sind in jedem Fall auf die GPU beschränkt.

Zweitens haben nur sehr wenige Endbenutzer genug RAM, um die Vorteile einer ausführbaren 64-Bit-Datei zu nutzen, und jede Engine, die auch nur vage für Konsolen ausgelegt ist (maximal 512 MB), wird nicht für großen verfügbaren Speicher optimiert.

Schließlich ist es ein Riesenschmerz, 2 ausführbare Dateien in Ihrer Distributionspipeline zu haben. Sie können nicht nur eine ausführbare 64-Bit-Datei ausliefern, da 30% Ihrer Zielgruppe sie nicht ausführen können. Sie müssen also sowohl eine 64-Bit- als auch eine 32-Bit-ausführbare Datei sowie eine Art Wrapper ausliefern, auf dem die richtige ausgeführt wird. Wenn Sie ein Online-Spiel sind, bedeutet dies eine zusätzliche Multi-Megabyte-Datei, die bei jeder Codeänderung gepatcht werden muss, und zusätzliche Komplexität, um sicherzustellen, dass die richtige Version den richtigen Spieler erreicht. Es ist einfach nicht die Mühe wert für die kleinen Vorteile.

Ben Zeigler
quelle
2

Wenn es nur um Neukompilierung ginge, hätten wir eine 64-Bit-Version aller Spiele.

Leider ist es nicht so einfach, besonders bei Game Engines mit einer älteren Codebasis.

Das Portieren auf 64 Bit würde in diesem Fall viel Aufwand erfordern. Einfach gesagt, die Vorteile für den Moment reichten nicht aus, um dies wert zu sein.

NocturnDragon
quelle