Jamie Fristrom

I bet others could, too.

Are the numbers and timings in this article still accurate
http://blogs.msdn.com/netcfteam/archive/2006/12/22/managed-code-performance-on-xbox-360-for-xna-part-2-gc-and-tools.aspx

If I understand it, if my game has 100,000 live objects (a live object is any call to new a class that still has a pointer to it, right ), then I can expect a 15 msec hitch every time the GC is run, which if I'm trying to run at 60 will cause a visible stutter.

According to the performance monitor, I'm currently facing a 23 msec GC. My game actually seems to be running surprisingly well if that's the case - are the garbage collections done on a different core

Is there a number in the performance monitor that tells me how many live objects I've currently got Is it Managed Objects Allocated - Delta

Does Delta mean different things depending on what number you're looking at
For latency time Delta seems to be the time of the last collection.
For Managed Objects Allocated Delta seems to be the current number of objects allocated.
For Garbage Collections it seems to be the number of collections in a certain period of time. What period of time A second




Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Ely

Since the blog was just written a couple of weeks ago, I would assume the numbers are still the same. I don't know about your other questions, but look forward to seeing some other responses from those in the know.




Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Shawn Hargreaves - MSFT

I'd guess those times are still accurate - can't think why anything would have changed since that was written.

I think you're right, the delta seems to mean different things for each value. I don't have any proper docs on this though, just guessing based on what numbers it displays.

Time periods are seconds.





Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Jamie Fristrom

So could you guys find the guy who wrote the thing and ask him





Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Jon Watte

Did I mention that I think it's important that the X360 CF acquire a generational incremental collector

Oh, I guess I already did.

(P.S.: AIIIIIIEEEEE!!)






Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Shawn Hargreaves - MSFT

This page from the CF team might be some help: http://blogs.msdn.com/davidklinems/archive/2005/12/01/499017.aspx






Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Joel Martinez

Yes, it would be really interesting to find out the reasons why the non-generational GC was chosen. plebs like myself would appreciate knowing why things are the way they are.

Whether it's here to stay, or another solution (ie. a port of the desktop GC) is coming ... a little transparency never killed anyone :-P





Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Shawn Hargreaves - MSFT

 Joel Martinez wrote:
Yes, it would be really interesting to find out the reasons why the non-generational GC was chosen. plebs like myself would appreciate knowing why things are the way they are.


We chose the Compact Framework as the basis of XNA because it existed, worked well, and was already highly portable to many different processors and operating system environments, so it was feasible to port this over to Xbox in a finite amount of time.

The desktop CLR, on the other hand, is aggressively tuned to run well on Windows Intel machines. Portability was never a major goal for it, and when you spend years tuning a jitter and GC implementation for Intel architecture, it tends to end up pretty tough to just up and move that code across to PowerPC!

Performance improvements are certainly on the radar for future versions, but we haven't announced any specific plans in that area (yeah, I know, that's a terribly marketing droid type response, but there you go: I can talk about released products all I like here but it probably wouldn't go down so well if I started giving out details of our internal planning :-)





Re: XNA Game Studio Express I could use a clearer explanation of 360 garbage collection and performance monitor

Joel Martinez

Fair enough ... I appreciate the insight :-)