GNU GCCは非常に一般的なコンパイラですが、AAAゲームのような大規模なプロジェクトではほとんど使用されていないようです。私には、それは問題なく動作し、問題はありませんでした。しかし、なぜすべてのAAAゲームがIntel Studioなどの商用コンパイラを使用しているように見えるのでしょうか。なぜそれが重要なのですか?また、GNU GCCはIntelだけでなくすべてのシステムのコードを最適化するので、なぜIntel Studioなどに煩わされるのでしょうか。
GNU GCCは非常に一般的なコンパイラですが、AAAゲームのような大規模なプロジェクトではほとんど使用されていないようです。私には、それは問題なく動作し、問題はありませんでした。しかし、なぜすべてのAAAゲームがIntel Studioなどの商用コンパイラを使用しているように見えるのでしょうか。なぜそれが重要なのですか?また、GNU GCCはIntelだけでなくすべてのシステムのコードを最適化するので、なぜIntel Studioなどに煩わされるのでしょうか。
回答:
インテルのコンパイラーは別のコンパイラーです。GCC ++とVC ++は、IntelのICCと同様に、プロダクション品質のコードを生成します。主な違いは、4つの主要な領域にあります。
(ほとんどの)Intel CPUからパフォーマンスのすべての最後のビットを絞り込もうとしているとき、AAAスタジオはその代償をいとわず、ICCにいくらか春を迎えています。 素晴らしい逸話についてはこちらをご覧ください。また、ICCが非正規のIntel命令セットCPU(AMDなど)で十分に実行されていないと非難されている彼の欠点セクションにも注意してください。
一部のコンソールやハンドヘルドを含む多くの非PCプラットフォームは、変更されたGCCをプライマリ/唯一のコンパイラとして使用します。
PCでは、ほとんどのゲーム開発会社がVisual Studioのコンパイラを使用しています。コンパイラの選択は、通常、エンジンの設計やグラフィックスと比較してランタイム速度にほとんど影響を与えません。いずれにしても、その機能セットはIDEとして設定されているため、GCCのインストールと開始は比較的困難です。また、反復時間と生産性を向上させることはあまりありません。誰もがすでに投資している代替案と比較して、GCCを使用する理由は十分に説得力がありません。
はい、AAゲームで使用できます。
ほとんどすべてのAAAゲームが(すべてではないにせよ)商用コンパイラを使用する理由は、商用製品には通常サポートがあり、AAAで発生する可能性のある問題に対処するときに、苦情やサポートを24時間年中無休で受けられるという事実です。産業、時代はお金を意味します。大きなチームや企業、特に後者は、大きなお金がかかっているときにコミュニティに依存したくありません。契約によるサポートに投資することをお勧めします。
一方、エンジンはSDKに依存しています。SDKがコンパイラをサポートしていない場合、それはあなたが自分でいることを意味し、回避策を実行することは有益ではありません。
最後に、最適化。多くのプレーヤーがIntelを使用していることを知っているなら、あなたはゲームを丁寧に彼らに提供したいと思います。