Good question, my last build included 16Gb of RAM, primarily because it's just so cheap at the moment it was silly to pass up. Recently I started tinkering with the idea of RAMdisks especially in the context of gaming.
With 16Gb of RAM installed, my OS + game usage never seem to exceed 6Gb usage so I dedicate 10Gb of RAM to a RAMdisks. I'm using PC12800 RAM, which means theoretical peak speed of the drive is 12.8GB/sec, that's 25x faster than my OCZ Vertex 3 SSD, although for several reasons the real world speeds are slower.
I use ImDisk
http://www.ltr-data.se/opencode.html , it's basically just a free and very lite disk driver, it comes with a basic control panel applet for easy configuration but also allows command line configuration which is handy for automating RAMdisk creation. For those who don't know RAM is volatile memory, and you lose all the data stored on a RAMdisk when the RAM loses power.
So my general idea was this; when the computer boots have it run a script to automatically create a RAMdisk and copy my favourite game installation files to that disk. When I later come to load that game it will load faster, essentially you're pre-caching these files at some earlier time which is convenient to you and mitigating loading times later on. It works especially well if you do not shut your PC down often, however if you regularly reboot, for example you only boot your PC to play some games, this would be much less useful as the total time to copy from
Disk -> RAMdisk -> RAM is longer than just a single load from
Disk -> RAM.
I created a batch file to automate this with ImDisk, if you want to test this for yourself this will help you get started:
1) Download and install ImDisk
2) Create a new script file, right click on your desktop, select "new" and select "text document", then give it the name RAMDISK.bat (make sure you have file extensions showing)
3) Right click the new batch file and click "edit"
In the batch file you want to do several things, first create the RAMDisk, you do this by calling the imdisk.exe file with various parameters to define the type and size of the disk, mine looks like this:
Code:
[b]imdisk.exe -a -t vm -o rw -s 10G -p "/fs:ntfs /q /y" -m Z:[/b]
This calls imdisk.exe
[b]-a[/b] attaches a new disk
[b]-t[/b] is the type and [b]vm[/b] means its made in virtual memory
[b]-o[/b] is the option flag and [b]rw[/b] means it's both read/write enabled
[b]-s[/b] is the size [b]10G[/b] means 10Gb, 500M would be a 500mb drive
[b]-p[/b] is the format options [b]"fs:ntfs /q /y"[/b] sets the file system to NTFS
[b]-m[/b] is the mount letter for the drive in this case I picked [b]Z:[/b]
The next line in the batch file we can copy files to our new RAMDisk, for example I copy Battlefield Bad Company 2 for testing.
Code:
[b]xcopy "C:\Games\BFBC2" "Z:\" /E /Q /H[/b]
This uses xcopy
[b]"C:\Games\BFBC2"[/b] is my games installation directory
[b]"Z:\"[/b] is the target RAMDisk, make sure this matches your mount point above
[b]/E[/b] forces the copy of all subdirectories
[b]/Q[/b] stops the file copying message
[b]/H[/b] forces the copy of hidden and system files (if they exist)
Once you've edited your parameters save the batch file.
Some tips:
1) When running it make sure you run it as administrator, the format step of RAMDisk creation requires admin elevation and will fail without it.
2) You can use task scheduler to run this batch file at system boot, or whenever you prefer.
3) Do not try and create RAMdisk greater than the amount of Physical RAM installed
4) Do not try and copy a game directory bigger than your RAM disk
5) Investigate if games extract temporary files to their installation directory when running, the size of the installation directory may grow when in use, make sure to allow for this when picking your RAMdisk size
6)
RAM DISKS DO NOT SAVE DATA PERMANENTLY!! If you reboot or lose power to your PC whatever is on the RAMDisk is gone forever with zero chance of recovery, never EVER store valuable data here under any circumstance. With respect to running games, make sure single player games are storing saved games into somewhere outside of the RAMdisk, thankfully a lot of modern games store user settings and save games on a per user basis and these get put in your C:\users\<account>\documents\, but always double check first otherwise you risk losing it!
I've not done extensive testing yet, I did very basic test with online gaming using BFBC2 and found almost no loading speed benefit when compared to my SSD, this suggests to me that the bottleneck with this specific game is the CPU. Ideally I need to get this working with steam games since most of my games are on steam, I would be interested to see if anyone can use this method to get much faster loading times and if so, with what games.
*edit*
Ugh, smileys