これまで、多くのゲームが32ビットアーキテクチャでコンパイルされているのを見てきましたが、現在のWindowsユーザーのほぼ50%が64ビットOSを使用していますか?どうしてこれなの?
理由がより多くのオーディエンスを獲得するためである場合(32ビットアプリは64で実行できるため)再コンパイルが多かれ少なかれ2つのバージョンを作成しないでください。64ビットアプリを実行すると、パフォーマンスが向上します。使用可能なCPUレジスタとその他の機能。
これまで、多くのゲームが32ビットアーキテクチャでコンパイルされているのを見てきましたが、現在のWindowsユーザーのほぼ50%が64ビットOSを使用していますか?どうしてこれなの?
理由がより多くのオーディエンスを獲得するためである場合(32ビットアプリは64で実行できるため)再コンパイルが多かれ少なかれ2つのバージョンを作成しないでください。64ビットアプリを実行すると、パフォーマンスが向上します。使用可能なCPUレジスタとその他の機能。
回答:
64ビットのVisual Studioバージョンがない理由に関するこのMSDNブログは、ゲームにも影響する多くの問題に対処しています。その要点は、プロセッサのキャッシュへの影響(64ビットでより多くのデータが同じサイズのキャッシュ)のため、多くの場合、64ビットにするとパフォーマンスが低下する可能性があるということです。
追加のアドレス可能なメモリが役立つ可能性がありますが、いずれにしても4 GBを超えるメモリを搭載したコンシューママシンはほとんどありません。さらに、Windows用の2つのバイナリを配布するという苦痛に加えて、64ビットのゲーム(今のところ)に適していないことは簡単にわかります。
以前の仕事では、エンジン(MMO)全体を64ビットに移植し、データを前処理するために、開発パイプラインの一部として、いくつかの場所で64ビットクライアントを実行していました。ただし、64ビットクライアントをエンドユーザーに出荷することはありません。
まず、パフォーマンスの向上はごくわずかであり、ほとんどのPCゲームはいずれにせよGPUに制限されます。
第2に、64ビットの実行可能ファイルを利用するのに十分なRAMを持っているエンドユーザーはごくわずかであり、コンソール用に漠然と設計されたエンジン(最大512 MBを覚えている)は、利用可能な大容量メモリ用に最適化されません。
最後に、配布パイプラインに2つの実行可能ファイルがあることは、お尻の大きな痛みです。64ビットの実行可能ファイルのみを出荷することはできません。オーディエンスの30%が実行できないためです。したがって、64ビットと32ビットの両方の実行可能ファイルと、正しいものを実行するある種のラッパーを出荷する必要があります。オンラインゲームの場合、つまり、コードが変更されるたびにパッチを適用する追加のマルチメガバイトファイルを必要とし、適切なバージョンを適切なプレーヤーに確実に提供するための複雑さが増します。小さなメリットのために努力するだけの価値はありません。