GNU GCC adalah kompiler yang sangat umum, tetapi sepertinya hampir tidak ada yang menggunakannya untuk proyek yang lebih besar seperti game AAA. Bagi saya, itu berfungsi dengan baik, tidak pernah punya masalah dengan itu. Tapi saya heran mengapa semua game AAA tampaknya menggunakan kompiler komersial seperti Intel Studio? Mengapa itu penting? GNU GCC juga mengoptimalkan kode untuk semua sistem daripada hanya Intel, jadi mengapa mereka repot dengan hal-hal seperti Intel Studio?
c++
game-industry
c
mingw
LiquidFeline
sumber
sumber
Jawaban:
Kompiler Intel hanyalah kompiler yang berbeda. GCC ++ dan VC ++ menghasilkan kode kualitas produksi, seperti halnya ICC Intel. Perbedaan utama terletak pada 4 bidang utama:
Saat Anda mencoba memeras setiap kinerja terakhir dari (sebagian besar) CPU Intel, studio AAA bersedia membayar untuk itu dan sedikit untuk ICC. Lihat di sini untuk cerita anekdot yang bagus. Perhatikan bagian kelemahannya juga, di mana ICC dituduh menjalankan kurang baik pada set instruksi Intel non-asli CPU (misalnya AMD).
sumber
Banyak platform non-PC, termasuk beberapa konsol dan perangkat genggam, menggunakan GCC yang dimodifikasi sebagai kompiler utama / satu-satunya.
Di PC, sebagian besar pengembang game hanya menggunakan kompiler Visual Studio. Pilihan kompiler biasanya memiliki dampak kecil pada kecepatan runtime dibandingkan dengan desain mesin dan grafik, mereka semua membayar untuk Visual Studio karena fitur yang ditetapkan sebagai IDE, GCC relatif lebih sulit untuk menginstal dan memulai. dan itu tidak berbuat banyak untuk meningkatkan waktu dan produktivitas iterasi. Tidak ada alasan yang cukup kuat untuk menggunakan GCC dibandingkan dengan alternatif yang telah diinvestasikan semua orang.
sumber
Ya, itu bisa digunakan untuk game AA.
Alasan hampir setiap game AAA di luar sana (jika tidak semua) menggunakan kompiler komersial adalah kenyataan bahwa produk komersial biasanya memiliki dukungan dan Anda dapat mengeluh atau mendapatkan bantuan 24/7 atau hanya ASAP ketika berurusan dengan masalah yang mungkin Anda miliki dan di AAA industri, waktu berarti uang. Tim dan perusahaan besar, terutama yang terakhir, tidak mau bergantung pada komunitas ketika uang besar dipertaruhkan. Lebih baik berinvestasi dalam dukungan dengan kontrak.
Di sisi lain, mesin mengandalkan SDK. Jika SDK tidak mendukung kompiler, itu berarti Anda sendirian dan tidak menguntungkan untuk melakukan solusinya.
Akhirnya, optimasi. Jika Anda tahu bahwa banyak pemain menggunakan Intel, bagaimana Anda ingin memberikan permainan Anda dengan anggun untuk mereka.
sumber