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.