3 ms·
I was one of those developers. I wrote a game in 93 that used mostly c rather than assembly because I didn't want to write it twice for Amiga and PC. At the tim
by justinhj 10y ago
I was one of those developers. I wrote a game in 93 that used mostly c rather than assembly because I didn't want to write it twice for Amiga and PC. At the time games were mostly assembler and it was felt that c compiled code had too much overhead. It was probably true to an extent for another couple of years.
The next fight was to move from C and C++ to Java and C++. This still hasn't happened in console gaming because the overhead needed for gc is not palatable to aaa developers that have to milk every byte of ram in the machine.
- pjmlp 10y agoYeah, I was one of those early C++ developers being bashed for using a bloated language (vs C), just like C# devs are nowadays. Regarding GC and consoles, how do the UE 4 developers approach it, just disable the GC related features then?
- SeanBoocock 10y agoI haven't shipped a game on UE4 yet but in profiling our in-development game I've yet to see Unreal's GC emerge as a performance concern. The UE4 GC is purpose built, simple (mark and sweep), and limited to only certain objects/allocations. The only time I've seen significant GC times/hitches was related to a bug that resulted in thousands of small allocations every second. I would much prefer if Epic dropped the GC - losing tight control over object lifetimes is as bad or worse than any potential performance overhead issues in my experience - but failing that I don't think its inclusion is a serious concern for shipping on consoles.
- pjmlp 10y agoThanks for clarifying it. Always keen in learning a bit more about the console world.
- justinhj 10y agoI don't know much about Unreal but one difference is that a game engine can use a lot of unmanaged memory for the meat of the application and then provide a managed environment on top of that for writing the game. That way a much smaller portion of the ram usage is using gc