XBox size limits
by Scott Goodwin · in Torque X 2D · 06/20/2008 (4:38 pm) · 4 replies
This is really an xna question ... what are the size limits for deploying to the xbox (content, program) ...
About the author
#2
John K.
06/20/2008 (7:45 pm)
Very interesting. When you pack the assets directly into the engine, what's the file size of the Xbox crashing binary file? John K.
#3
I took all the stuff I added out of the .resx file and put the textures in the engine's images folder. The textures load as images\texture.xnb. I can access them with @"images\texture" as opposed to @"data\images\texture" if it was in the game instead of the engine ... if it was in the .resx, you could access it with just "texture".
I came across this which suggests it probably wasn't a good idea to add the textures to the .resx file anyway:
"Re: Using a resource file (resx)
Stephen Styrchak - MSFT
Embedding all your content in an assembly resource may be okay for a Windows game, but you probably do not want to do that for Xbox 360 games. The NetCF runtime loads the entire assembly before it is JIT-compiled, meaning that *all* of your game content will be loaded at once when the assembly is loaded, then loaded again as you deserialize the resources into objects.
If you're creating a small game, this will be no problem. However, if you are building a game with multiple levels, or one with many resources, or one that aggressively uses memory, then you will probably want to load that content only when you need it. In that case, embedding it in a resource is not a good way to go.
Again, this only applies to Xbox 360.
--Stephen
"
06/20/2008 (9:58 pm)
The GarageGames.TorqueX.Framework.dll is 76MB.I took all the stuff I added out of the .resx file and put the textures in the engine's images folder. The textures load as images\texture.xnb. I can access them with @"images\texture" as opposed to @"data\images\texture" if it was in the game instead of the engine ... if it was in the .resx, you could access it with just "texture".
I came across this which suggests it probably wasn't a good idea to add the textures to the .resx file anyway:
"Re: Using a resource file (resx)
Stephen Styrchak - MSFT
Embedding all your content in an assembly resource may be okay for a Windows game, but you probably do not want to do that for Xbox 360 games. The NetCF runtime loads the entire assembly before it is JIT-compiled, meaning that *all* of your game content will be loaded at once when the assembly is loaded, then loaded again as you deserialize the resources into objects.
If you're creating a small game, this will be no problem. However, if you are building a game with multiple levels, or one with many resources, or one that aggressively uses memory, then you will probably want to load that content only when you need it. In that case, embedding it in a resource is not a good way to go.
Again, this only applies to Xbox 360.
--Stephen
"
#4
... so I'm back to having a copy in every user project ... (or cutting back on the amount of textures added to the engine's .resx so as not to crash on the xbox ...)
06/24/2008 (9:21 am)
Sigh --- this worked on the PC but not the xbox when making a non-Pro version because (of course---duh) the dll doesn't contain the textures ... ... so I'm back to having a copy in every user project ... (or cutting back on the amount of textures added to the engine's .resx so as not to crash on the xbox ...)
Torque Owner Scott Goodwin
I want to create a custom version of the Torque X engine that includes additional resources, but when I do this, the game deploys on the xbox but immediately crashes. I have a number of textures that I added to the resource file (EngineData_Xbox_Debug.resx). It works after adding the first few but when some more or added, it crashes ... maybe a resource size limit? content manager limit? Oh, and it also works on the PC so there must be a different size limit or something on the xbox.
If instead, I put the files in data/images/ it works. So it's not a problem with the total size of the content. I'd rather have the content built into my custom engine rather than add it to every game's data/images.
Anyone got any ideas?