PDA

View Full Version : Video Memory?


Luis
10-28-2006, 07:37 AM
Hey hoh,
I've got some questions about that topic...

How much Video Memory is recommendet for your Game?
Do you have something like a "memory manager routine", uploading the image Data (which will be used for the next level for example) from system ram to video ram or do you let your API (OpenGL DirectX) do that for you?
I'm asking this because I see that my games GFX including backbuffer, textures + mipmaps won't fit into 16MB. I know that most 3d cards out there have much more memory.
32MB will surely be enough for all my GFX Data - So what is your advice: Should I Upload all my graphics data at the beginning of the game (while displaying the Loading-Bar)? Or should I Upload them when needed - always considering that this will only speed up things when a 16MB Card is used. And even then, OpenGL will do the job for me (or am I wrong at this point??).

Thank You

Luis:confused:

oNyx
10-28-2006, 09:18 AM
Yes, OpenGL will handle that just fine for you. As long as your scene doesnt exceed the physical amount of vram, performance will be fine. (The framerate goes massively down if you get constant ram<->vram swaps.)

Consider using texture compression or even precompressed textures. The advantage of precompressed textures is that they are rather small, they can further compressed with lzma (nsis installer) and loading em is of course also the quickest thing to do (loading 1/6 of the raw data and uploading it straight).

Sharpfish
10-28-2006, 10:28 AM
I use Direct X but at the moment I load all front end assets, then unload them, load ingame assets, unload them when returning to the main menu and I also load universal assets (That are used throughout the game and cleared at the closedown).

So calls in my state manager:

>Launch Game
LoadUniversalAssets();
LoadFrontEndAssets();

>Start Game
ClearFrontEndAssets();
LoadInGameAssets();

>Return To Front End
ClearInGameAssets();
LoadFrontEndAssets();


The aim was to keep the VRam usage under 16mb in my case, it may end up going over but I still prefer to do this. The loading times are negligable also, in fact a quicker start up (loading less assets) is my preference. YMMV.