I don't know how games would deal with it, but I would guess you could build a strategy to deal with it. I'm thinking that the majority of item creations are going to be during load sequences, so having a GC run in there wouldn't be so bad.
Which spawn another question for me. So while a true GC.Collect() is under way, does the entire runtime stop? Are all objects unavailable to the app? What's the refresh scenario in this situation?
Adding a boolean flag to indicate "ya, srsly" to the GC is kind of silly. No developer would ever use false, because they'd all think that they knew what they were doing.
It's not silly. Of course all the devs would pass in true, but in my case it'd be appropriate
Finally, I just think that if somebody is writing an application that needs ultra-fine-grained control over memory control and demands high performance, then it probably needs to be written in native code. A business app that pops up a WinForm and queries a few databases isn't going to need to have millisecond precision, after all, but Gears of War will.
Well, MS is positioning XNA as a viable Xbox Live Arcade framework. It's not Gears of War, but the last thing you want to see a game sputter during mid-play.
Well, that's another question:
How's the GC on the Xbox different than the PC one?