GNU GCC jest bardzo popularnym kompilatorem, ale wydaje się, że prawie nikt nie używa go do większych projektów, takich jak gry AAA. Dla mnie to działa dobrze, nigdy nie miałem z tym problemu. Ale zastanawiam się, dlaczego wszystkie gry AAA wydają się wykorzystywać komercyjne kompilatory, takie jak Intel Studio? Dlaczego to ma znaczenie? GNU GCC optymalizuje również kod dla wszystkich systemów, a nie tylko dla Intela, więc dlaczego zawracają sobie głowę takimi rzeczami, jak Intel Studio?
c++
game-industry
c
mingw
LiquidFeline
źródło
źródło
Odpowiedzi:
Kompilator Intela to po prostu inny kompilator. GCC ++ i VC ++ produkują kod jakości produkcji, podobnie jak ICC Intela. Główna różnica polega na 4 kluczowych obszarach:
Kiedy próbujesz wycisnąć każdą ostatnią wydajność z (głównie) procesorów Intela, studia AAA są skłonne za to zapłacić i trochę wiosny dla ICC. Zobacz tutaj świetną anegdotyczną historię. Zwróć także uwagę na jego sekcję dotyczącą wad, w której ICC jest oskarżana o słabsze działanie na nieoryginalnych procesorach Intela (np. AMD).
źródło
Wiele platform innych niż PC, w tym niektóre konsole i urządzenia przenośne, używa zmodyfikowanego GCC jako głównego / jedynego kompilatora.
Na PC większość domów deweloperów gier korzysta wyłącznie z kompilatora Visual Studio. Wybór kompilatora zazwyczaj ma niewielki wpływ na szybkość działania w porównaniu z konstrukcją silnika i grafiką, wszystkie one i tak zapłaciły za Visual Studio ze względu na zestaw funkcji jako IDE, GCC jest stosunkowo trudniejszy do zainstalowania i rozpoczęcia. i niewiele poprawia czas iteracji i produktywność. Po prostu nie ma wystarczającego powodu, aby używać GCC w porównaniu z alternatywami, w które wszyscy są już zainwestowani.
źródło
Tak, można go używać do gier AA.
Powodem, dla którego prawie wszystkie gry AAA (jeśli nie wszystkie) używają komercyjnych kompilatorów, jest fakt, że produkty komercyjne zwykle mają wsparcie i możesz złożyć skargę lub uzyskać pomoc 24 godziny na dobę, 7 dni w tygodniu lub po prostu JAK NAJSZYBCIEJ, gdy masz do czynienia z jakimkolwiek problemem, jaki masz, i w AAA przemysł, czasy oznaczają pieniądze. Duże zespoły i firmy, szczególnie te ostatnie, nie chcą polegać na społeczności, gdy w grę wchodzą duże pieniądze. Lepiej inwestować w wsparcie na podstawie umowy.
Z drugiej strony silniki korzystają z SDK. Jeśli zestaw SDK nie obsługuje kompilatora, oznacza to, że działasz samodzielnie i obejście tego problemu nie jest opłacalne.
Wreszcie optymalizacja. Jeśli wiesz, że wielu graczy korzysta z Intela, do licha chcesz im zaoferować swoją grę.
źródło