The Windows System Cache

swaaye

Entirely Suboptimal
Legend
Supporter
The Windows System Cache & Games

How does this cache affect games with respect to file i/o? I've been wondering if a ton of RAM (say 8GB) could help a game like Oblivion which is constantly pulling files off the HDD.

edit: Apparently 64-bit Windows versions handle up to a 1TB system cache vs 1GB for 32-bit.

(lol I found this thread on Google minutes after I posted it)
 
Last edited by a moderator:
How does this cache affect games with respect to file i/o? I've been wondering if a ton of RAM (say 8GB) could help a game like Oblivion which is constantly pulling files off the HDD.

You know, with 8GB of RAM you could probably cram all the game files into a 6GB ram disk and call it a day.

OTOH, for me the problem with Oblivion has never been the HDD.
 
You know, with 8GB of RAM you could probably cram all the game files into a 6GB ram disk and call it a day.

OTOH, for me the problem with Oblivion has never been the HDD.
Well, with a un-modded version of the game, yeah it would fit in a RAMdisk lol. But, my Oblivion setup is probably over 8 gigs right now. Lots of mods with large content. Tons of individual files. Even unmodded, as the game "streams" data off the HDD it stutters.

But this thread isn't meant to be Oblivion centric. I'm just wondering about the effect the system cache has on games.
 
Well the more the better I think? the more you have, the more data you can store the less data you have to stream from your hdd which takes more time than getting data from your ram.
 
Do you guys think that Vista's prioritized IO system could dramatically improve how well games can stream data on the fly?
 
I'm sure it might provide some support if you were always playing the game but it'd need some reason to expect those files to be loaded in the near future.

Another thing to keep in mind is that if Windows was caching an entire level as soon as the game went to load it the memory requirements would double as it would duplicate the data. So it wouldn't necessarily be an efficient process. It would be better for developers to pack levels to where they become large sequential reads off the hard drive.

Some of the games out there are so scripted that it actually takes the CPU a second to figure out just what it's trying to load before it actually starts loading anything. In that case things are going to stutter a little.

For certain apps you could run them off of a ramdrive and it would probably help performance but for vista to predict just which level needs loaded and have them ready to go would be rather unlikely IMHO.

From what I've seen the caching seems geared towards small DLLs etc since it cuts down the seek requests the drives have to make and drives are better at large files than many small ones.
 
One thing I've noticed in Vista is that Guild Wars will load a zone much faster than it does in XP sometimes. Guild Wars is an odd duck though, with its one giant archive file that it decompresses when running.

As for caching, yeah it isn't exactly efficient to just load everything in RAM just because it might be needed. But it's not like Windows knows what an app is going to need so that's about the only way to go. Having the app itself be good at predicting its own data needs and streaming them properly is obviously the way to go. Lots of games do that already, to varying effectiveness...

Under "Storage I/O Prioritization".
http://www.microsoft.com/whdc/device/storage/stor-drv.mspx

It's dated back to 1996, so goodness knows how accurate that document is.

Here is another link. Scroll down for IO prioritisation.
http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/


Oooh. Interesting reads. Thanks.
 
Last edited by a moderator:
Do you guys think that Vista's prioritized IO system could dramatically improve how well games can stream data on the fly?
If it worked as advertised? It only seems to make things slower to me.
 
For games like Oblivion, it would certainly make a difference. Most other games are already segmented, and the most memory is needed/wanted for textures. So you're better off with more memory on your video card.
 
Back
Top