Hi All,

You've found the blog of Leighly G Penrod (better known as Lee Penrod). Over the years I've helped thousands of people with technology questions. I started this blog to share some of the problems I've personally solved, and to act as a place to put bits of new articles before they are ready for release.

In the past I wrote serveral things published by I worked for them for several years including doing various bits of technical writing. Although I no longer work for them, I do still put up some content on my blog now and then.

If you are not familiar with my prior work, feel free to see these popular guides I have written-

How to Install Front USB 3.0 Connections

How to Install Front USB
(connecting front ports to the motherboard)

Understanding System Memory and CPU speeds:
A layman's guide to the Front Side Bus (FSB)

Hooking up a Neon Light
[Old Article on making a card neon from Walmart work in a PC]

Tuesday, October 11, 2011

Ram Disk that works under Windows 7 64bit ( x64 ) and RAGE

Recent events that have been going on in the tech world:
1) Ram prices have been very very low.
2) The game RAGE by ID achieved a lot of hatred in a short period of time due to launch bugs that largely stem from poor memory management (the lack of using resources it has available).

The main issue with RAGE that gets talked about is texture pop in.  This happens because there is a lag between loading the texture, and you looking at it. Generally, well managed games are going to try to have as many textures that you might need soon in memory as possible. Rage just doesn't appear to do this effectively (at least as it was at launch), instead it will try and grab from disk and generally:  Slower drive access = worse pop in. Some people with RAID 0 SSD setups had very little pop in.

Now, don't get me wrong - the problems with RAGE arn't just based on disk access.  There are literally tons of fixes for it.  If you are having problems, definitely the first place to look is the steam forum for the game, however there are a few other things worth noting.

First of all, one of the early things figured out was that rage doesn't have the cache path set or created. As I understand it, this cache location is used as additional texture space -- so the path containing the cache should be as fast as possible. For some talk about the specific way to set the cache try this blog entry:

Now, from my perspective, the smart thing to do here is not put the cache on your main hard disk.  The smart thing to do is to make a RAM drive / RAM disk for the cache.  Creating a RAM disk in Windows Vista and Windows 7 has for many lead to a challenging or at least somewhat expensive proposition, however a while back I figured out a free way to do it.

The best tool that I have found to do this is IMdisk. Grab it here:

IMdisk is a swiss army knife kind of app. It can mount disk images and as well as having the awesome feature of making a blank ram drive @ a drive letter of your choosing.

The trick most people miss with making it work under Win 7 x64 is the step of running cmd as administrator and running the following commands:

sc config imdisk start= auto
net start imdisk

Installing IMdisk, and running those command line commands will activate IMdisk so that you can create a RAM disk from both control panel and from their command line version of the program. 

Basically, once you have the ram drive, you can write a script to create the ram disk that you can either have auto start when you boot the machine, or can run manually before opening RAGE. (of course you could do it by hand w/ the control panel app but that's a bit annoying).

Hopefully the above is enough to help you put 2 and 2 together.  If you have a lot of ram in your machine ( 12 GB or more) you could also make a more complex RAM drive setup to help things out.

It would go something like this:
1) Taskkill steam.
2) Create big ram drive. Format it NTFS
3) Copy all or part of rage to the ram drive.
4) Copy whatever you copied to the ram drive to a backup location somewhere on your hard drive (in case the PC gets shut off mid game).
5) Make a junction between the folder point you copied and the place you copied it to on the ram drive. (If done properly, going to it will go to the ram drive instead.
6) Start Steam.

After the script runs, steam will see no issues if this was done properly. Junction transparently handles the change in location of the files. The down side to this is that if Steam did an update to RAGE before you go t play it then the changes would be written to the ram drive (potentially) instead of to the hard disk. A way to avoid this is to make a shut down script for the machine, or a script to run after closing the game that would undo the ram drive process
(taskkill steam, remove juction using rmdir, copy ram drive contents back to origional location it's expected to be in, start steam, add a command to remove the ram disk if you want to free back up the ram.)

For some information on how to create a junction see:

To remove the junction, use rmdir, don't use del, it could kill the files at the other end of the junction.

I hope that this has been helpful to improve your RAGE experiance. This trick is also useful for all kinds of other games, as forcing major textures or other files into ram can dramatically reduce load times.  If I have time I will try and make a more detailed guide at a later date.

Don't have enough ram to try and fancy version of this approach? Consider upgrading your RAM with parts from