GNU GCC ist ein sehr verbreiteter Compiler, aber es scheint, dass fast niemand ihn für größere Projekte wie AAA-Spiele verwendet. Für mich funktioniert es einwandfrei, hatte nie ein Problem damit. Aber ich frage mich, warum alle AAA-Spiele kommerzielle Compiler wie Intel Studio verwenden? Warum spielt es eine Rolle? GNU GCC optimiert auch den Code für alle Systeme und nicht nur für Intel. Warum beschäftigen sie sich also mit Dingen wie Intel Studio?
c++
game-industry
c
mingw
LiquidFeline
quelle
quelle
Antworten:
Intels Compiler ist nur ein anderer Compiler. GCC ++ und VC ++ produzieren genauso wie Intels ICC Produktionsqualitätscode. Der Hauptunterschied liegt in 4 Schlüsselbereichen:
Wenn Sie versuchen, die (meistens) Intel-CPUs bis ins kleinste Detail zu nutzen, sind die AAA-Studios bereit, dafür und für ICC einen gewissen Frühling zu zahlen. Hier finden Sie eine großartige Anekdotengeschichte. Beachten Sie auch seinen Abschnitt mit den Nachteilen, in dem ICC beschuldigt wird, auf nicht echten Intel-Befehlssatz-CPUs (z. B. AMDs) nicht gut zu laufen.
quelle
Viele Nicht-PC-Plattformen, einschließlich einiger Konsolen und Handhelds, verwenden einen modifizierten GCC als primären / einzigen Compiler.
Auf dem PC verwenden die meisten Spieleentwickler nur den Compiler von Visual Studio. Die Wahl des Compilers hat in der Regel nur geringe Auswirkungen auf die Laufzeitgeschwindigkeit im Vergleich zum Engine-Design und den Grafiken. Alle haben sich aufgrund des Funktionsumfangs als IDE für Visual Studio bezahlt gemacht. Die Installation und der Einstieg von GCC ist vergleichsweise schwieriger. und es trägt nicht viel zur Verbesserung der Iterationszeit und Produktivität bei. Es gibt einfach keinen zwingenden Grund, GCC im Vergleich zu den Alternativen zu verwenden, in die bereits jeder investiert hat.
quelle
Ja, es kann für AA-Spiele verwendet werden.
Der Grund, warum fast alle AAA-Spiele (wenn nicht alle) kommerzielle Compiler verwenden, ist die Tatsache, dass kommerzielle Produkte normalerweise Support bieten und Sie sich beschweren oder rund um die Uhr oder einfach so schnell wie möglich Hilfe erhalten können, wenn Sie Probleme haben, die Sie möglicherweise haben, und in der AAA Industrie bedeutet Zeiten Geld. Große Teams und Unternehmen, insbesondere letztere, möchten sich nicht auf die Community verlassen, wenn es um großes Geld geht. Es ist besser, vertraglich in Support zu investieren.
Andererseits basieren die Engines auf SDKs. Wenn das SDK keinen Compiler unterstützt, bedeutet dies, dass Sie alleine sind und es nicht rentabel ist, die Problemumgehung durchzuführen.
Endlich Optimierung. Wenn Sie wissen, dass viele Spieler Intel verwenden, möchten Sie Ihr Spiel freundlicherweise für sie bereitstellen.
quelle