Anyone Try "RAMDisk" before

Post » Tue Dec 09, 2014 3:07 am

These are great instructions!!! Thanks so much for posting in-depth details for everyone! I will be trying out your methods as well.
How do you create an NTFS hard link to various drive paths? I follow everything else, but I've never heard of NTFS hard links.
Could you please provide some details on this. I've also linked to your post on the OP as I think others will find your technique very very useful. :celebration:
User avatar
herrade
 
Posts: 3469
Joined: Thu Apr 05, 2007 1:09 pm

Post » Tue Dec 09, 2014 2:42 am


"mklink" is what you are looking for . . .

So here is what I do
Copy my C:\Oblivion\Data\ to the Z:\ (the ram drive) (using windows exploder or robocopy or whatever you want)
Rename the folder to "Od" or whatever you feel like naming it.
Delete the folder C:\Oblivion\Data\
Create a directory Junction from C:\Oblivion\Data\ to Z:\Od
Proper syntax from the command line would be -

mklink /J "C:\Oblivion\Data\" "Z:\Od\"

You will now have a folder "C:\Oblivion\Data" that looks like a normal folder in that location except the contents of that folder are physically located on the Ram Drive!

-dan


Edit: I am using Dataram RAMDisk - I can't tell you what version from here at work, but I haven't updated since I got it about a year ago. I tried a bunch of different programs that were free then bought the licence because this one had the best UI (for me at least). I have had a couple of image file corruptions over the past year, but no problems other than that. Note, it takes a while to move 11 GB of data from disk to RAM so your computer will start up significantly slower when you have it enabled.
User avatar
i grind hard
 
Posts: 3463
Joined: Sat Aug 18, 2007 2:58 am

Post » Tue Dec 09, 2014 12:52 pm



umm I am a moron today . . .
You can't use /J across drives only /D links
Syntax should have been

mklink /D "C:\Oblivion\Data\" "Z:\Od\"

sorry if that caused anyone confusion . . .

-dan
User avatar
Fam Mughal
 
Posts: 3468
Joined: Sat May 26, 2007 3:18 am

Post » Tue Dec 09, 2014 11:00 am


I hadn't tried it yet as I'm still at work, but I will be soon!!! Thanks again for the follow up
User avatar
BlackaneseB
 
Posts: 3431
Joined: Sat Sep 23, 2006 1:21 am

Post » Tue Dec 09, 2014 1:33 pm

I did some experimentation with RAMdisk last few days which I thought might interest people. I only have 4GB of RAM on my PC (64bit Windows 7) so it wasn't feasable for me to copy much of my meshes or textures to RAM (25+ GB fromlots of graphic improvement mods and large quest mods). However from a post I read somewhere, one source of stuttering is loading the distantLOD files. These files are all small, but I had like 12000 of them in the data\distantLOD directory, so I guess wading through them all causes Oblivion to stutter. To check this, I simply deleted all files in this directory (don't worry they can be regenerated with TES4LODGEN); I saw 2 effects: (1) Major FPS improvement, at the expense of objects popping up in the near distance, and (2) way less noticeable stutter effect when crossing cell boundaries (often my stutters were accompanied by a crash, such crashes seemed to reduce dramatically)

So with this in mind I made a small RAMDisk (only 40MB). I moved the distantLOD directory to it, then made a symbolic link from the original directory to the new one on the RAMdisk so Oblivion could find it. I found that stuttering and crashing did indeed reduce noticably for me (though crashes haven't been completely eliminated). In combination with Oblivion Stutter Remover, I now enjoy much longer periods of gameplay between crashes.

Regarding performance, I didn't notice any increase in FPS using the small RAMdisk. However, my experiment with deleteing all the distantLOD files opened my eyes to what a huge FPS drain it is to render the VWD objects. I implemented some of the tips from the readme file that comes with Arthmoor's RAEVWD mod (in particular, reducing uGridDistantCount to 18 and disabling Better Cities VWD.esp); now I enjoy much better FPS performance at very small cost to game beauty, and the use of the RAMdisk has improved stuttering and reduced the crashes. In summary, even a small RAMdisk has made a huge difference to my enjoyment of the game.

More detailed instructions:
1. Download RAMdisk (link in opening post)
2. Use Ramdisk utility to start an unformatted 40MB drive (mklink command won't work with FAT formatted drives)
3. Go to Computer Management (via Control Panel Administrative Tools)
4. Go to Storage->Disk Management
5. Click on the visual representation of the new disk
6. Right click to create a simple volume
7. Accept the maximum size
8. Assign the drive letter R:
9. Quick format as NTFS with volume label MyRamDisk (no file and folder compression)
--> MyRamDisk (R:) will now be available in explorer
10. Regenerate your distantLOD folder if necessary with TES4LODGEN (make sure your load order has been finalised before this step)
11. Move the DistantLOD folder from C:\Program Files (x86)\Steam\SteamApps\common\oblivion\Data\ to R:
(non-Steam users substitute the appropriate path to your oblivion data directory. And keep a backup of this directory somewhere so you can redo this step if you restart your RAMdisk)
12. In a command prompt window (for Windows 7 need to run this command window as administrator) type
mklink /J "C:\Program Files (x86)\Steam\SteamApps\common\oblivion\Data\DistantLOD" R:\DistantLOD
13. Run Oblivion and check stuttering has improved (hopefully this does indeed work for others the way it worked for me)
14. Once satisfied, return to the RAMdisk utility, make an image, and set it to load this image at startup. Since its a small RAMdisk the creation time is hardly noticable during Windows startup.
User avatar
Scotties Hottie
 
Posts: 3406
Joined: Thu Jun 08, 2006 1:40 am

Post » Tue Dec 09, 2014 1:08 pm

Thanks far327 and Mahjers! I forgot how to find the disk manager and didn't know you could make NTFS volumes with RAMDisk this way. RAMDisk works well for Minecraft servers too.
User avatar
Jerry Cox
 
Posts: 3409
Joined: Wed Oct 10, 2007 1:21 pm

Post » Tue Dec 09, 2014 3:31 am


I believe credit is due to kandiedan as well. :)
User avatar
Natalie J Webster
 
Posts: 3488
Joined: Tue Jul 25, 2006 1:35 pm

Post » Tue Dec 09, 2014 8:07 am


Yeah and to anyone who said anything really. mklink is something I didnt know about until recently, they are less used and less available tools for regular users but very useful.
User avatar
Tinkerbells
 
Posts: 3432
Joined: Sat Jun 24, 2006 10:22 pm

Post » Tue Dec 09, 2014 11:21 am

Doing the DistandLOD folder seems like it would be the best use of this software all around. With OSR, the only stutter I ever see anymore is from loading LOD data at cell borders. Having 65MB of it probably isn't helping that. Nice thing is, since it's not dozens of GB worth of stuff, nearly everyone could spare a 100MB chunk to shift this folder to. Even 32 bit users.
User avatar
Lilit Ager
 
Posts: 3444
Joined: Thu Nov 23, 2006 9:06 pm

Post » Tue Dec 09, 2014 5:33 am

Thanks all for this post and clear instructions- even a dolt like me could follow!

Everyone should use this, and it's free! :celebrate:

I know this is bumping un-necessarily, but this deserves attention...
User avatar
Rachel Hall
 
Posts: 3396
Joined: Thu Jun 22, 2006 3:41 pm

Post » Tue Dec 09, 2014 3:09 pm

Everytime I create a new RAMDisk, the free space in that disk is limited to 57.7 MB - I tried creating a disk of 65 MB, then 80 MB, but no diffeence, the 22 or so MB gets eaten up by myesterious forces. ANy clues?

My DistantLOD folder is 65 MB, so I need at least that space...
User avatar
Brad Johnson
 
Posts: 3361
Joined: Thu May 24, 2007 7:19 pm

Post » Tue Dec 09, 2014 11:53 am

Would this program work on a Win7 32bit with 3gb of ram?Could I get any benefit?
User avatar
Greg Cavaliere
 
Posts: 3514
Joined: Thu Nov 01, 2007 6:31 am

Post » Tue Dec 09, 2014 6:03 am

Modern OSes - Windows 7 included - do an intelligent file caching. What it means? All free RAM is used to map disk data on RAM. if any app requires the RAM, it is instantly freed for the program. If it is idling, the system puts it to better use by caching disk data.
Back in the Windows 98 days, and XP to a lesses extent, RAM disks made some sense in this regard, for specific circumstances.
If you have at the very least 8GB of RAM *MAYBE* you can get a little less stuttering (low fps) when data is being loaded from the disk if you use a RAM disk, but then you are dedicating it just to the game, making it unavailable to other stuff.
You also need to leave at least 2GB free for the OS, so I think fo a game like skyrim, you'd need 12 GB or more to make a meaningful RAMdisk, and it would only help teh low frame rates.
It would not be persistent too. Unless the program has a facility to preload a disk image (which I very much doubt), you'd have to copy your data every time you reboot.
And it would only help the low lows of frame rates. Hmmm that's soooo much trouble for so little (questionable) benefit.
If you want to get rid of the low lows in the frame rate, by all means get an SSD if you have the money. If you get higher highs, get a better video card. If you are still on a HDD, a dedicated drive for the games (separate from the OS drive) and defragging also help...
If you gan get 12GB+ of RAM in your system, I bet you can also get one of those (SSD or video card).

Good luck anyway!
User avatar
Nicole Kraus
 
Posts: 3432
Joined: Sat Apr 14, 2007 11:34 pm

Post » Tue Dec 09, 2014 10:23 am

I have a program called RAMDisk on my Windows 3.1 laptop...does that count? :smile:
User avatar
Dan Stevens
 
Posts: 3429
Joined: Thu Jun 14, 2007 5:00 pm

Post » Tue Dec 09, 2014 10:25 am


Yes, but that automated intelligence is not comparable to dedicating a RAM disk to a specific set of files prior to their use. It is contradictory to argue both A) that Windows file caching makes RAMDisk obsolete, AND B) that an SSD provides improvement over a disc HDD.

Depending on how much RAM you an spare, placing key parts of your Oblivion install into a RAM disk can and does provide performance improvement (increased load times, reduced stuttering) beyond even what an SSD delivers.
User avatar
YO MAma
 
Posts: 3321
Joined: Thu Dec 21, 2006 8:24 am

Post » Tue Dec 09, 2014 9:22 am

Little bit of thread necromancy...

I've been playing around with RAM disks and thought someone else might be interested so I'm sharing.

If you're looking for a FPS increase then I don't think this'll help, it does appear to reduce micro-stuttering for me though. So I'm happy with it.

I was looking at http://www.gamesas.com/topic/1174085-anyone-try-ramdisk-before/#entry17553109 post and liked his thinking, my issue with it was the fact that I needed to create a disk image of my DistantLOD folder and reload that. I'm re-creating that folder a fair bit with TES4LODGen so I wanted something a bit more dynamic than Mahjers' original method.

I ended up using some different software to him, as I can mess around with it on the DOS commandline (there's also a GUI).

Software used:-
Essential: http://www.ltr-data.se/opencode.html/#ImDisk. Freeware.
Optional: http://www.nexusmods.com/oblivion/mods/39424/ by wheybags.

Basically what we do is install IMDisk Virtual Disk Driver and then launch Oblivion from a batch file. That batch file creates the RAM disk and then launches Oblivion (with OBSE), when Oblivion's finished running you're asked if you want to remove the RAM disk. It takes a bit of time (~30 seconds for me) to copy the DistantLOD files from disk to RAM so if the game crashes or you want to start up another session later it makes sense to have the option of keeping the RAM drive.

wheybags' Original Launcher OBSE messes around with the standard OB launcher so that rather than calling oblivion.exe when you click Play it calls oblivion.bat, wheybags' provided oblivion.bat launches Oblivion with OBSE.

You should rename save this batch file of mine as oblivion.bat and replace wheybags' original (after backing it up).

You can also alter your Start Menu shortcuts to point to this oblivion.bat rather than obse_loader.exe

I don't believe it's possible to amend the Bash shortcut to launch this, so don't start OB using Bash.

Copy and paste the text in the code box below into a new TXT file in "Bethesda Softworks\Oblivion" and rename the text file to "oblivion.bat" (make sure that "Hide extensions for known file types" isn't enabled in Windows or it'll be called "oblivion.bat.txt". Stupid Windows).

CLS@ECHO OFFECHO.ECHO Don't close this window - close Oblivion to exit.ECHO.ECHO.REM #####################################################REM # Check if RAM disk already exists and is populated #REM #####################################################IF NOT EXIST "R:\DistantLOD" GOTO CreateRAMDriveECHO.ECHO RAM disk already exists.ECHO.GOTO StartOblivionREM ######################################REM # If no RAM disk create and populate #REM ######################################:CreateRAMDriveREM Create R: driveECHO.ECHO Creating RAM disk...ECHO.IMDISK -a -m R: -s 100M -p "/fs:ntfs /q /y /V:RAMDisk"REM Copy DistantLODECHO.ECHO.ECHO Copying Distant LOD files...ECHO.XCOPY "C:\Games\Bethesda Softworks\Oblivion\Data\DistantLOD" R:\DistantLOD\ /Q /EREM Rename original DistantLOD directoryREN "C:\Games\Bethesda Softworks\Oblivion\Data\DistantLOD" DistantLOD_RENREM Set-up junction for DistantLOD directoryECHO.ECHO.ECHO Creating junction...ECHO.MKLINK /J "C:\Games\Bethesda Softworks\Oblivion\Data\DistantLOD" "R:\DistantLOD"ECHO.ECHO.ECHO RAM disk created.ECHO.REM ##################REM # Start Oblivion #REM ##################:StartOblivionECHO.ECHO.ECHO Starting Oblivion...ECHO.obse_loader.exeECHO.ECHO.ECHO Waiting for exit...ECHO.:Looptimeout /t 1 /nobreak > nultasklist /fi "IMAGENAME eq Oblivion.exe" | find /i "Oblivion.exe" > nulif errorlevel 1 goto RAMDiskCheckif errorlevel 0 goto LoopREM ##########################REM # Ask to remove RAM disk #REM ##########################:RAMDiskCheckECHO.ECHO.CHOICE /m "Remove the RAM disk "ECHO.REM Answered NIF ERRORLEVEL 2 GOTO ExitBatchREM Answered YIF ERRORLEVEL 1 GOTO RemoveRAMDiskREM ##################################REM # Remove RAM disk if user wishes #REM ##################################:RemoveRAMDiskECHO.ECHO.ECHO Removing RAM disk...ECHO.REM Remove DistantLODRMDIR /s /q "C:\Games\Bethesda Softworks\Oblivion\Data\DistantLOD"REM Restore original directory nameREN "C:\Games\Bethesda Softworks\Oblivion\Data\DistantLOD_REN" DistantLODREM Remove R: driveIMDISK -D -m R:ECHO.ECHO.ECHO RAM disk removed.ECHO.REM ########REM # Exit #REM ########:ExitBatch@ECHO ON
Don't close the DOS window! There's a loop in there which checks if there's a running process called oblivion.exe, if there is the batch keeps on looping, if there isn't then it asks you if you want to remove the RAM disk. Don't close the DOS window!

I've set the RAM disk to be 100MB (my DistantLOD folder is ~55MB)

You'll have to adjust the paths to match your own installation, currently they're set-up for mine so this works for me:
"C:\Games\Bethesda Softworks\Oblivion\Data\DistantLOD"

I'm pretty happy with the results, as always: YMMV.
User avatar
Dustin Brown
 
Posts: 3307
Joined: Sun Sep 30, 2007 6:55 am

Post » Tue Dec 09, 2014 11:47 am

Dragon,

Thanks for posting your results! I have been toying with the idea of running OBlivion off a RAM disc ever since I built my latest PC, which I built with enough ram to do a rather large RAM disc. I have got 16 GB, but it would be easy and relatively inexpensive to plug in 16 GB more RAM. That would be enough to put my entire Oblivion folder into a RAM disc.

It looks like you are just loading DistantLOD into your RAM disc. I was thinking of loading my entire Oblivion folder into it. Yes, that would require a whoppingly huge RAM disc, since my Oblivion folder is about 20 GB. If it takes 30 seconds to load 55 MB into a RAM disc, I can only imagine how long it would take to load a 20 GB RAM disc. Maybe too long to make it worth it.

I have heard reports though of people who have done that and experienced instantaneous loading screens and overall performance boosts. But it has been a long time since I read that thread and was unable to find it last time I looked. I wonder how much of a performance boost there would be from running Oblivion from a RAM disc. I am running it off a SSD right now and loading screens are pretty short, but not instantaneous.

EDIT: it is also worth pointing out that the price of RAM has dropped since this thread was started, and most decent gaming motherboards are now designed to support 32 GB of RAM, so some of the earlier comments in this thread about RAM being too expensive and Motherbpoards not supporting enough to do a decent size RAM disc no longer apply. Althoug I noticed that Arthmoor's Oblivion folder is 30 GB, which would be too large for a RAM disc even with 32 GB. But a 20-24 GB Oblivion folder seems like it would fit, since you would have 8-12 GB left over, which is plenty to run an LAA flagged Oblivion with RAM to spare.
User avatar
JESSE
 
Posts: 3404
Joined: Mon Jul 16, 2007 4:55 am

Post » Tue Dec 09, 2014 12:57 pm

I don't think it would be much better than an SSD TBH. I tried this back in the days of my XP machine and since going to an SSD and playing with the normal BSAs it was almost the same performance. I don't even notice the loading screens in TES games any more. Not that I noticed them before really on the PC.

One thing I hate about the RAMdisk and W7/8 is you can't define drives and partitions in the RAMDisk at boost and then create your temp file directories before Windows loads up. So, every reboot requires setting all this stuff up again. I gave up on it and moved all temp files and cache files to a platter drive. Drive longevity is more important than a small increase in speed.

User avatar
Solina971
 
Posts: 3421
Joined: Thu Mar 29, 2007 6:40 am

Post » Tue Dec 09, 2014 2:21 am

You probably need to set your RAM disk to 128 Mb not less than 64 Mb and your current value of 57.7 Mb are most likely for a 64 Mb RAM disk.

User avatar
Valerie Marie
 
Posts: 3451
Joined: Wed Aug 15, 2007 10:29 am

Post » Tue Dec 09, 2014 3:20 am

Well, if there is no way to make it a one click operation, that may make it too much of a pain to bother with, but it sounds like Dragon solved this problem with a .bat file. It still may be too complex to set up for me to want to worry about it now. Maybe someday ehwn I have too much time on my hands. Also last time I checked, it was hard to find software that will support a large RAM disc and all the free software is only set up to handle small RAM discs.



I am running an SSD right now, and I moved my temporary internet files and My Games to my back-up HDD for SSD drive longevity. (Not sure how to move the save games file for Morrowind, so I left that one on my SSD.) But if I understand how the RAM disc workes, you are only reading from your SSD when you load the data into a RAM disc, and I think if you set your RAM disc up right, it should never write back to the SSD. That should solve any problems with undue wear on an SSD, since reading from an SSD does not wear it out, only writing to it causes undue wear.

Since Oblivion stores save game files and the Oblivion ini in My Games, and not in the Oblivion folder, there is no need for the RAM disc to every have write capability, as long as you keep your save games in My Games and do not put My games into the RAM disc.

That would seem to be the safest way of setting it up, since it would not put undue wear on your SSD and it would not risk damaging the files on your SSD if the game crashed or there were any other issue with your RAM disc if you limit the RAM disc to read only functions. And since save games and the Oblivion ini are stored outside the Oblivion folder, I don't see a need for the RAM disc containing the Oblivion install directory to ever be allowed to write anything.
User avatar
Abel Vazquez
 
Posts: 3334
Joined: Tue Aug 14, 2007 12:25 am

Post » Tue Dec 09, 2014 2:09 pm

how did you move the savegame folder for oblivion together with my games? My oblivion just keeps remaking it

User avatar
Nichola Haynes
 
Posts: 3457
Joined: Tue Aug 01, 2006 4:54 pm

Post » Tue Dec 09, 2014 12:24 pm


There was another thread here somewhere with instructions, cannot find it. Did some googling and found this. This is for Windows 7, but I think the procedure for Windows 8 is pretty much the same. From what I recall this is what I did, but it has been long enough that I cannot remember the exact steps. http://windows.microsoft.com/en-us/windows/redirect-folder-new-location#1TC=windows-7
User avatar
Adam Baumgartner
 
Posts: 3344
Joined: Wed May 30, 2007 12:12 pm

Previous

Return to IV - Oblivion

cron