BitFlipper said:

What kind of work is being done to improve the GC? The current GC is not ideal for use in something like games where a GC cycle can cause an interrupt long enough to cause noticeable frame dropping. If this wasn't a problem, then people would not come up with some horrific hacks in order to do simple things like write integers to the screen. Notice in that "solution", they get access to the private string that is embedded in StringBuilder in order to have a mutable string that doesn't create garbage when changed. And how would you write floating point numbers to the screen without creating garbage?

 

Specifically, I think an incremental GC would work better. There might be slightly more overhead, but that is a good compromise if things run smooth otherwise.

 

It is nice to use .Net for something like games, but it is a drag that we need to use Reflector to figure out which classes and methods are going to create garbage. It kind of takes away from what makes .Net great if you have to program like that.

 

Does the XNA team have any say in the GC development? I believe XNA is a good opportunity to showcase improvements in the GC in this regard. These kinds of improvements can help in non-game development as well.

You could mitigate the GC by pre-allocating all your objects... not for the lifetime of the game... but whatever makes sense. Like a level