Writing a game to do the rendering and game play on separate threads is no trivial task, even for a simple XNA game. I have been working on this for a couple days now for my shmup I am developing. And then I will use the other 2 hardware threads for something else(the 360 has 6 dedicated hardware threads with 3 cores, but XNA uses 2 for purposes I have no idea about), probably a particle system(although I should be putting this on the GPU, I have no idea about shader languages, and I already have it up and running on the CPU), and maybe some physics on the other one, perhaps some gravitational weaponry, or perhaps do the hit detection. But you definitely have to understand the underlying aspects of how the CPU and GPU work in order to get good performance, IE don't do too many texture swaps when drawing sprites, keep garbage collection to a minimum(use structs and pools), don't use foreach loops(360 XNA compiler doesn't handle these efficiently), and other such details.







