Fun with RamDIsks

Scoob

New member
Hi all,

I’ve been pondering the benefits of RamDrives, considering memory is relatively cheap these days. Did some playing around, creating small 1 to 4gb ram drives on my Gateway PC which has 8gb total Ram. I popped a load of my commonly used applications in there and found it quite nice how quickly (i.e. instantly) they launched. The only “cost” was a simple batch command to create & load my Ramdisk in the first place.

I moved on to loading up some game Demos into a Ramdisk – I didn’t have enough Ram to try full games, but thought this’d be a good starting place. Now, it’s a niche title, but I’m a fan of the “X” games by Egosoft so I loaded up their rolling demo. I was impressed by how reduced the loading time between the various scenes in the demo appeared. Not instant, as of course there’s still a degree of processing involved to decompress textures etc. but darn quick.

I did various benchmark tests, copying stuff back and forth and of course anything going to/from the RamDrive was only as slow as the device it went from/to as you’d expect.

So, I decided to expand the experiment a little. Me and a mate went halfs on 32gb (4x8gb) DIMMs – about £180 all in with postage etc. for 1600mhz 10-10-10-27 DDR3 Corsair Vengeance. My Gamer currently has 2x4gb 1600mhz 9-9-9-24 Corsair Vengeance.

Memory arrived, I popped it in the system as 8-4-8-4 left to right in the motherboard. Oddly XMP defaulted ALL the ram to run at the tighter 9-9-9-24 timings, rather than the lowest common of 10-10-10-27. Odd & I suspect a potential problem waiting the happen there. Still, let’s leave it how the motherboard thinks it should be for the moment.

I boot up and the POST screen shows 24gb ram – nice. Windows loads and windows too sees 24gb. I run some memory bandwidth tests using the built-in (Windows 7 Ultimate) command line tool WinSat – “winsat /mem” from the command line does a simple memory bandwidth test. Mine reported just shy of 22gB/s – somewhat faster than a mechanical hard drive!

The reason for performing this test was because my friend had issues getting his ram working with his existing 8gb initially. When he finally got it working certain tools reported his ram as running in dual-channel mode when I suspected it was not based on the Ram configuration he described. He pointed at all these tools (CPUz, HWInfo and others) showing his ram as “dual channel” but I reminded him that a lot of tools simply report what the system supports rather than what it’s doing. After some arguing we both ran tests using WinSat, when he saw my bandwidth score was DOUBLE his he admitted that…well, he admitted nothing but swapped his memory around to the correct configuration so it actually worked as dual channel lol.

So, back on topic proper, I now have 24gb of ram. After some further testing I got a Blue Screen – not something I ever see outside of overclocking experiments. It was a BCCode 50 which points to memory. Not entirely unexpected as the motherboard had used tighter timings than the ram supported. I popped into the BIOS, manually set the memory timings to 10-10-10-27 and all has been fine since.

Right, I have 24gb, massive overkill normally but not if you want a 16gb Ramdisk!

I’d played around with a few ramdisk tools, however none had a free 64 bit version – i.e. they were all limited to 4gb only unless I paid money. I was close to paying DataRam for their 64bit RamDisk product as I’d been using the free (4gb only) version for my earlier testing, I then however found ImDisk, a totally free and open-source 64bit RamDisk tool. It’s not quite as friendly as DataRam’s product, but has some powerful command line functions that have proven most useful.

So, I create myself a 12gb Ramdisk initially as I’m testing with my “X” game – X3 Albion Prelude to be exact. The game install, along with the various mods I run, comes to just shy of 10gb in all. I initially just drag and drop the game folder into my RamDisk as (due to having an *official* Steam-free .exe) I can run the game install from anywhere.

Running the game… Well, it loads a lot quicker, though I still see that the CPU is loaded doing “stuff” with the data preparing the game. Once in-game things feel more fluid, traversing sectors (it’s a space game) means the game has to load all assets needed by the new sector , is much quicker. It’s not instant as the CPU still has work to do here. Anyway, successful test with a marked improvement in my gameplay experience.

Now, on to Skyrim. Skyrim, as long as Steam is running, doesn’t seem to care where it’s run from. Good job really as I always create a new instance of the game for each patch. My Skyrim install is about 12gb, I use various texture packs and mods to pretty up the game. I also use uGrid=9 as well as other .ini file settings to further enhance things. Game has always played quite well (early bugs aside) but still suffers from stutter as objects are loaded – especially if I’m sprinting or riding a horse so the game is traversing grids quickly. Additionally area and inside/outside (basically cellchange ) transitions aren’t that quick as I use a mechanical hdd.

So, Skyrim is on the RamDrive…let’s go. Game is up and running (including loading my save from mechanical HDD) very quickly – I should have timed it before and after really! I’m now in-game and running around like a loon. I’m a high-level character so I can sprint for ages. I’m running across the landscape as fast as I can but I’m getting NO JUDDER as assets are loaded. Nice. I’m also playing with a mod that lets me (at my very high level) conjure a near-infinite amount of summons. I can summon groups of three skeletons each time and just keep spawning until I hit 60+ - all happens smoothly and stutter-free. Very good

I next despatch the Skeleton army I’d created and start testing fast-travel (area transitions) these happen again very very quickly, really, there’s not even time to really break your immersion (can I still use that word for Skyrim?) in the game world. Really, an excellent improvement overall.

I later get into a fight with many varied creatures - all which fight among themselves as well as with me so lots of spells flying around with associated spell effects...all happening flawlessly!

I actually ended up running around in Skyrim for the next three hours, having not played it much lately at all – a testament to how much improved things were.

So, I have Skyrim in a RamDisk, like I had X3AP in there beforehand – but obviously it’s all lost once I power down. Now ImDisk does have the option to both save an image of its self as well as (of course) load from a previously saved image. I played around with this and while it works fine it’s not that quick. As a further test I decided to create some scripts that would both create a RamDisk of the appropriate size and then copy (using RoboCopy) the relevant game folder into the drive. As I have my base installs of ALL my games on hard drive of course, those are where I copy from – they are my masters if you like.

So now, all I need do is power on my PC, decide what game I’d like to play, click the icon I created to launch the scripts and wait. To copy 10gb to my ramdisk takes less that 3 minutes from my mechanical hard drive – I can use that time to make a cuppa (or more likely have a pee) in preparation for my gaming session. Considering those three minutes give me much improved play time it’s well worth it…and having an empty bladder is good too!

So, £90 dropped on an additional 16gb of ram – definitely worth it so far. The only issue I can see is where games do not like being moved from their install location. I guess many newer titles that are still locked down by overly intrusive DRM are not going to be candidates to run from a ram-drive. However, more and more developers appear to be releasing DRM-free updates once a title is a little older. I know Egosoft do it, and Steam games have the option to be a little less locked down and run from anywhere as long as the .exe can confirm the client is running. Skyrim works this way, though oddly X3AP did not – hence the dev giving us a Steam-free option I assume. I guess things would need to be tested on a game-by-game basis. I have a fairly limited selections of games, none newer than Skyrim or X3AP – both which came out the end of last year – yet they work. Not sure if the likes of Battlefield 3 could be made to run from elsewhere.

What could be done is to directly install the games to the RamDisk then use ImDisks tools to save the image. As long as the drive is up and the image loaded when you try to run it I’d hope things would be fine. You could make it a window start-up option easily enough. It’s worth noting that it’d be possibly to “break” the install by running a registry clean up tool such as CCleaner when the drive is NOT mounted however as it will doubtless see lots of entries as invalid as the destination folder doesn’t exist until mounted, so to speak.

One final thing. We did have some concerns regarding additional CPU load from managing the RamDisk service. My friend initially had some problems with very high CPU usage, however that turned out to be the software for his keyboard misbehaving of all things. In my own monitoring the RamDisk service appears to use zero CPU resources in effect…though it does have a 16gb memory footprint lol.

So, there you have it. RamDisks are back lol. My gaming has been improved, plus it was a fun mini-project playing around. Me and a friend did this after a "down the pub" type discussion into, initially, the benefits of SSDs - but we took it a step further lol.

Cheers,

Scoob.

Quite concise for me, don't you think?
wink.png
 
TL:DR
tongue.png


I use ramdisks in linux for various stuff to speedup software

I tried in windows but didn't really see much difference in normal operation
sad.png


I did look at benchmarks in windows to see the difference between a harddisk and the ramdisk and it seems faster.

Samsung_1TB_F3_Crystal.png
RamDiskCrystalDiskMark_l.png


I just didn't find much use in windows for it
sad.png
(this was in 2010 tho)

I noticed u say u have whole games loaded into the ramdisk tho
smile.png
so obv more mem than the 4GB I have

I just don't see much point unless it improves the running of the game (after loading)
 
This is epic Scoob. I had a look into this about 6 months ago but gave up pretty quickly because I didn't find the right tools and get enough knowledge to make the leap.

So basically you think it's possible to set up the ramdisk, install the game there and save the image. Then simply load which ever game you want to play at that moment in time into the disk and away you go? Presumably it makes sense to keep the save games in the default place!

Would you mind setting up a dummies guide to this when you have time. I would love to try this out and you have got a lot further than I did...
 
Hi,

equk: Yes, you do need a bit more than 4gb of ram to fully make use of this for gaming unfortunately, that's in part why I didn't consider this a serious project initially - but ram is cheap and I was bored...lol.

Incidentally, it's about far far more than the initial loading of the game. Most modern titles, I'll use Skyrim as my example, are forever (it seems) loading assets from your hard drive as requirements change. I.e. different textures, meshes, sounds etc. etc. depending where you are in the game. Remember, even with an LAA enabled .exe the game is still limited to just 4gb max (unless it's a true 64bit exe) and 4gb isn't much room to hold the content for something as big as Skyrim, so frequent loads from disk are required. Thing is, with a ramdisk, ALL of this data is available near instantly and it makes Skyrim play that much smoother.

Ok, it may be a little silly and a little bit of overkill, but the difference is really noticable as I currently run from a basc 1tb Samsung Spinpoint HDD. My friend incidentally runs from SSD but is equally impressed by the results. So much so that we now both load our favourite games to a ramdisk prior to playing now.

Master&Puppet: Thanks
smile.png
I can try to post some basics using ImDIsk - I've created a few scripts for setting stuff up I can post also as examples. It's fairly straight forward once you get your head around it. I set up my first dummy set of test scripts and based allt he others (for my games) off those.

Do you think the guide should be here or in a separate Topic?

Cheers,

Scoob.
 
Ok, it may be a little silly and a little bit of overkill, but the difference is really noticable as I currently run from a basc 1tb Samsung Spinpoint HDD. My friend incidentally runs from SSD but is equally impressed by the results. So much so that we now both load our favourite games to a ramdisk prior to playing now.

This! I am so excited by this that I am considering reducing the size of the SSD I was planning on buying and spending it on RAM and I haven't even tried it yet!

Master&Puppet: Thanks
smile.png
I can try to post some basics using ImDIsk - I've created a few scripts for setting stuff up I can post also as examples. It's fairly straight forward once you get your head around it. I set up my first dummy set of test scripts and based allt he others (for my games) off those.

A step by step so that it could be made accessible by people who don't have a background in it would be awesome, if you could find the time at some point!

Do you think the guide should be here or in a separate Topic?

If it were me I'd write the guide and post it in a new thread as the method and leave this one as the experiment.
 
Hi,

I've drafted up a very basic guide on automating (via simple scripts) both the creation of a Ram Disk and copying game folders to it. This could be done in one simple step in theory (one mouse click) however I broke it into two steps (create then copy) as I wanted to ensure the RamDrive was correctly created during my initial testing. I also added a simple way of unmounting the ram drive at a single click...this method does NOT save the drive contents as that was not my personal goal in setting up the jobs, though I could add that in a later edit.

Master&Puppet: fancy proof-reading my draft?

Scoob.
 
Wow that was quick work! Yea sure I'll have a go, I've only got a laptop with 4gb available so can't do as much as I would like. Will PM you my email address
 
Got it, draft doc sent. Let me know what you think...I was hungry while writing the first bit and concentrating mostly on supper for the second bit lol.

Scoob.
 
The only problem with software ramdisks is that they clear if you get a crash and also when you shutdown or reboot

So for anything that needs to write things that need to be kept (eg: savegames, configs, logs etc) onto the ramdisk you would need to use something to save the changes made onto the harddisk before reboot/shutdown.

I use rsync in linux to sync changes to files on things I need to keep if I ever use a ramdisk for anything other than temporary storage.

** I mainly use ramdisks for temporary storage, rarely for anything of any size


Most games save to docs&settings I gu ess but not all.

Incidentally, it's about far far more than the initial loading of the game. Most modern titles, I'll use Skyrim as my example, are forever (it seems) loading assets from your hard drive as requirements change. I.e. different textures, meshes, sounds etc. etc. depending where you are in the game. Remember, even with an LAA enabled .exe the game is still limited to just 4gb max (unless it's a true 64bit exe) and 4gb isn't much room to hold the content for something as big as Skyrim, so frequent loads from disk are required. Thing is, with a ramdisk, ALL of this data is available near instantly and it makes Skyrim play that much smoother.

Still interested to see if all the work of creating a ramdisk & copying x.xGBs of files before being able to play a game is worth it

I think from the comment above it could be worth it for specific titles like skyrim etc
 
Hi Equk,

In most games now things like saved games / profiles are kept under the users account in My Documents, so the temporary nature of the ram disk isn't a concern. Also, like you say, this will doubtless benefit specfic titles more than others. However, those specific titles in my case are the ones I want to play. So, win / win really for me so far. I'll be sure to post if something doesn't work of course.

Btw: "all the work" = clicking ONE link on a custom toolbar I've set up. That's the powerful thing about ImDisk in my view, you really need to just set something up once via a script, them yoi have it availble to run when you choose. It was also rather simple to set up in the first place really and hardly difficult to do it manually even now. Of course I'm a little more familiar with things now. Thus far my scrips to first create the Ram Disk then copy the game(s) I want to play to it have worked flawlessly. The <3 minute wait for Skyrim to intially copy is nothing compared to the benefit I get over what could possibly be several hours of gaming.

Finally, I always have my original master install there to use and all saves go to my profile on a proper drive. Oh, not to mention that ImDisk does let you save the current image if you desire. Ive' tested this, and it works fine, however as my game folder is static during play I didn't see the point. Still, it may be a valid consideration for other titles.

As I try more titles I can add to this post if people are interested, however I'm not a big buyer of games - I just have my favorites. My friend, with whom I did this project, will likely have different titles to try over the two we have in common so I'll comment on those.

Quite pleased how smoothly things have gone so far
smile.png


Scoob.
 
ive been using RAMdisk since the old DOS 5.0 days (and we needed speed).

there are many RAMdisk progs out.

congratulations on bringing this to a review, get ready for all the questions!

airdeano
 
Seems like people have tried ramdisks for skyrim, found loads of guides.

http://forums.bethso...p-instructions/ (november 2011)

There are some people who have benchmarked ramdisk vs ssd ingame performance who say there is no noticable difference
sad.png
(other than initial loading time)

Most of the threads have no benchmarks to show differences either
sad.png


I've never played skyrim
sad.png
only really play online games.
 
Guessing SSDs are fast enough for that content.

But it is much more fun playing with RamDisks
tongue.png


Initial loading time is a bonus - it's quite long on games like Shogun 2 on my raptor drive.
 
[media]http://www.youtube.com/watch?v=vAdRsQJBEBE&feature=g-all-u&context=G223eb0dFAAAAAAAADAA[/media]
 
Seems like people have tried ramdisks for skyrim, found loads of guides.

http://forums.bethso...p-instructions/ (november 2011)

There are some people who have benchmarked ramdisk vs ssd ingame performance who say there is no noticable difference
sad.png
(other than initial loading time)

Most of the threads have no benchmarks to show differences either
sad.png


I've never played skyrim
sad.png
only really play online games.

That guy seems to only be copying a small sub-set of the files - not a bad idea in priciple and something I've toyed with. However he seems to think that texture files "are loaded to the GPU" so don't need to be on the ram disk. That's a little odd as it's the texture data that takes up a fair chunk of the space and no GPU would be loading all the texture at once, just what it needs as it needs them. Skyrim, when loaded entirely from a ram disk plays very very well indeed. My friend who uses fast SSDs for both windows and games also noticed a substantial boost. Basically neither of us play Skyrim other than from a ram drive now. Also, our prior testing made us want to drop £90 each on extra ram purely so we can create such a large ram disk - not gonna do that just for fun...erm, well, I might, but this time it worked out well
smile.png


Bottom line, for both myself and my friend, we see much improved loading times during area transitions and don't get the slight stutter when new objects / textures are loaded as you move from say green to snowy areas for example or new creatures appear. Our games are modded so much more demanding than vanilla "Ultra" settings, which might increase the improvement the ram disk makes even further.

It might not be worth it for some, but for us we're very pleased with the results and the improvements to gameplay in just Skyrim and X3AP alone so far.

Scoob.
 
They were clearly limited by the fact that they wanted to stick with free software and hadn't found ImDisk so couldn't copy more 4gb. I personally am not keen on the idea of splitting game files - if this technology is to be made user friendly then it needs to be almost as easy as installing a game or program normally. Scoobs solution has gone in that direction - infact I bet someone like Dugdiamond could write Scoob's code (if Scoob can't himself) into a gui and then it is pretty much perfect.

Similarly when we consider that most people will be on mobos that will only support 32gb (8 of which needs to be free for the system) we only actually have 24gb to play with. That can be a limiting factor when you consider the size of the programs we are talking about (Shogun 2 recommends 20gb for example) so JJ's persistant RamDisk is great, but if you want to use a different program you would have to spend time uninstalling and installing. Scoob's method means that all you have to do is load the appropriate image containing what ever program you want to use, this would take a matter of 3-5 minutes.

I think that because of these two reasons Scoob has taken RamDisking to the next stage. I'm not sure whether anyone has done this before but I certainly haven't seen it so I think it is genuinely brilliant!
 
Hi,

The existing GUI will let you do everything you need, the tiny scripts I created just call things directly so they can be automated. I initially played around with the GUI as it's simple to use, but later wrote the scripts so I didn't have to keep doing the same thing again and again.

The key factors with ImDisk for me are that it's free for the fully-functional version, it has a simple GUI so you can play around initially, it also allows automation via simple scripts and it's free - worth saying that twice!

I actually have the source code for ImDisk and the author gives permission to be able to use it with other projects, so I could potentially customise the tool further if need be - might be interesting. I have all the tools I need as I was a software developer for years, but not been so hands on for quite some time now. Still, might be fun.

I do think there's some mileage in ram disks, even smaller ones for commonly used utilities etc. It's also fairly straight-forward to automate things so when you log on you have your ram drive available and loaded - so you can use it as a regular drive & update the contents - and have it automatically write to disk at shut down or whenever. These can all be manually done easily via the GUI regardless. The only cost is the extra time to initially load, then later save the drives contents. When this leads to much smoother gameplay in my experience it's well worth it.

Obviously the down side is that any system crash or loss of power will loose the ram drives contents, but important data shouldn't really be kept on it. For me it's about games, and game folders are 99% read-only to all intents and purposes, so just doing a copy to the ramdisk as needed works well. Note: all my games from the past few years save to my profile rather than the game folder, so that's not an issue. Even if it was a simple script to backup saves would be easy to add.

Scoob.
 
Hi,

Sorta dropped the ball on this one as have been a little occupied with other stuff. I did draft a quick guide to using ImDisk to create a ramdisk and write automated jobs for loading and running games. To be fair using ImDisk is dead simple as is setting up jobs, if anyone is still interested I can post sample jobs here.

My friend and I have gone a bit nuts on Ram Disks basically running everything we can from them now - things just seem more fluid, especially games that are required to load various scenes / areas during play, as well as different textures etc. Skyrim is likely one of the better examples of improved gameplay so far.

Cheers,

Scoob.
 
Wow. Thank you so much for all the effort you have clearly put into this thread!!

I am well and truly amazed by RamDisks although I have absolutely no idea how to set one up. But that doesn't mean that I won't continue to avidly follow this topic. ^^

Cheers
 
Back
Top