Jump to content

[HOWTO - RAMDRIVE] Increasing SWTOR System Performance


Lemon_King

Recommended Posts

 

Looking at it now. Thanks.

 

Its in the OP, right under it too.

 

Okay, I see it. Apologies

 

 

 

Nice post & thank you.

Edited by Rion_Starkiller
Link to comment
Share on other sites

  • Replies 877
  • Created
  • Last Reply

Top Posters In This Topic

 

Lets talk about increasing SWTOR Performance by working around Engine Bottlenecks!

 

Right now this focuses on placing DiskCacheArena and 2 buffer files DiskCacheStatic / DiskCacheStream on a RamDrive.

The increase in performance I've seen during my test for the past few days was quite nice, resolved 2 issues with the engine.

 

The First being a performance drop once DiskCacheArena starts becoming full where data needs to be flushed during gameplay, causing severe hitching even on an SSD.

Second is for Static and Stream, simple buffers that work wonders in a RamDrive but will slow performance anytime they are on disk; the performance drop remains even if Arena is in a RamDrive.

 

Now why is this a bottleneck?

First when the game is started, it mounts the MYP/TOR files in ..\Assets\ loads the data from there by streaming with the Static and Stream files into DiskCacheArena. Once there it can be loaded by the engine for use in General Gameplay. Its a pretty slow method but it does work for now.

A better solution would be to mount the data and have the game pull from that as one large LRC, with all data created by the engine and downloaded from the server to go into DiskCacheArena; giving it proper priority over the mounted data.

 

Another solution would be to make use of MemoryMan.dll and spawna third process to act as a light RamDrive for DiskCacheArena with the write buffers for machines with enough ram - a simple toggle could be added in the launcher.

 

Setting up a RamDrive

You will need 6 Gigs or more of Ram and some software, your other solution is to hunt one of these down if you lack the ram via OS limits.

 

Software

After doing some research for some lightweight software you have 2 solutions, the choice is yours.

 

Setup with Starwind Virtual RAM Drive Emulator

  1. Click Add Device and set the Size to 1024 MB, unchecking both options
  2. Click Next and setup a second Disk
  3. Open your Computer Management Panel, and click on Disk Management
  4. You should see your drives in the lowest Panel, scroll down that list until you see the two drives you created with the Software
  5. Right Click one and choose Spanning Disk
  6. In the Window add in the other Disk you created and choose next
  7. Format as NTFS and give it a fancy name

http://i.imgur.com/YdSQ0.png

http://i.imgur.com/zAnwW.png

http://i.imgur.com/ArJb7.png

 

 

Setup with ImDisk Virtual Disk Driver

imdisk -a -s 2G -m T: -p "/fs:ntfs /q /y"

 

 

Setting up Folder Junctions

  1. Find our where your SWTOR is located, As an example my install is located on S:\Applications\Star Wars-The Old Republic\
  2. Open your Start Panel click Run and type in %appdata%
  3. You should be in a folder called C:\Users\USERNAME\AppData\Local, go up one level to C:\Users\USERNAME\AppData\ and click on Local
  4. Scrolling down you should see a folder called SWTOR, go in it and Copy the settings folder to INSTALLLOCATION\Star Wars-The Old Republic\SWTOR\retailclient\
  5. Delete the SWTOR folder in Local
  6. Run cmd with Admin Rights adjust this line to your Windows Username.
    mkdir T:\SWTOR\swtor
    mklink /J "C:\Users\USERNAME\AppData\Local\SWTOR" "T:\SWTOR\"
    [color="Red"]mklink /J "T:\SWTOR\swtor\retailclient\settings" "INSTALLLOCATION\Star Wars-The Old Republic\SWTOR\retailclient\settings"[/color]
    mklink "INSTALLLOCATION\Star Wars-The Old Republic\SWTOR\DiskCacheArena" "T:\DiskCacheArena"


    If DiskCacheArena exists already in the SWTOR folder, delete it.

 

 

What to do on a Reboot?

Easy, if you're using Starwind's software repeat the 7 setup steps everytime your system comes online.

And you'll be dropping this into a console after you setup your drives.

mkdir T:\SWTOR\swtor
mklink /J "T:\SWTOR\swtor\settings" "INSTALLLOCATION\Star Wars-The Old Republic\SWTOR\retailclient\settings"

 

With ImDrive this is a bit easier, just stick it in the boot batch file.

imdisk -a -s 2G -m T: -p "/fs:ntfs /q /y"
mkdir T:\SWTOR\swtor
mklink /J "T:\SWTOR\swtor\settings" "INSTALLLOCATION\Star Wars-The Old Republic\SWTOR\retailclient\settings"

 

 

I haven't tried this still but isn't the third row in the code window (colored in red if you open the quote inside the "spioler" tag) wrong. And shouldn't it be changed to:

mklink /J "T:\SWTOR\swtor\settings" "INSTALLLOCATION\Star Wars-The Old Republic\SWTOR\retailclient\settings"

At least my directory is C:\Users\UMB\AppData\Local\SWTOR\swtor\settings

 

P.S sorry if it was mentioned before but its too late here and i will read the whole thread tomorrow.

Edited by SBite
Link to comment
Share on other sites

yeah, here's what mine ended up like:

 

mkdir T:\SWTOR\swtor
mklink /J "C:\Users\FANBOY\AppData\Local\SWTOR" "T:\SWTOR"
mklink /J "T:\SWTOR\swtor\retailclient\settings" "C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\swtor\retailclient\settings"
mklink "C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\swtor\DiskCacheArena" "T:\DiskCacheArena"

 

 

 

PS - I created my boot task per the OP's instruction, but I'm half-scared to reboot ;)

Edited by Rion_Starkiller
Link to comment
Share on other sites

I'm not doing all this to fix something that is wrong with the game, not my computer.

 

Thanks for letting us know...? :rolleyes:

 

I'll be trying this tonight, and I'll try to put up a complete batch file that simplifies the whole deal (think one click to do the work and call the launcher.) It'll be for ImDisk unless it gives me issues.

Link to comment
Share on other sites

I haven't tried this still but isn't the third row in the code window (colored in red) wrong. and shouldn't it be changed to:

mklink /J "T:\SWTOR\swtor\settings" "INSTALLLOCATION\Star Wars-The Old Republic\SWTOR\retailclient\settings"

At least my directory is C:\Users\UMB\AppData\Local\SWTOR\swtor\settings

 

P.S sorry if it was mentioned before but its too late here and i will read the whole thread tomorrow.

Fixed it, updated the post and accidentally altered every single /settings.

No need to quote the entire post for one thing. ;)

 

Thanks for letting us know...? :rolleyes:

 

I'll be trying this tonight, and I'll try to put up a complete batch file that simplifies the whole deal (think one click to do the work and call the launcher.) It'll be for ImDisk unless it gives me issues.

End user install location are hard to predict, which is why I made a tutorial.

Edited by Lemon_King
Link to comment
Share on other sites

End user install location are hard to predict, which is why I made a tutorial.

 

Agreed. I've written something that I think will work but I'd like to test it tomorrow night before posting. And, since I didn't mention it before, props to you for coming up with this. :cool:

Edited by mrkitethreeeight
Link to comment
Share on other sites

great post.

 

but we as players should not have to fix there problems with this stuff. it should have been fixed by them. and not everyone that is have problems is going to beable to do this.

 

 

for those that can do this it does work.

Link to comment
Share on other sites

Loading new game textures & opening bag/map/inventory i get like a 1sec freeze .

 

think this will help ( sorry if it stands somewhere , im just a bit off )

 

Because this is kinda out of my knowledge range x) But if it's a chance it'll work i'll give it a try

 

Thanks

Link to comment
Share on other sites

Fixed it, updated the post and accidentally altered every single /settings.

No need to quote the entire post for one thing. ;)

 

It's in spoiler tag now. I was not in post formating mood and halfway into bed sleeping at 9.30h in the morning after playing whole night :p

Link to comment
Share on other sites

So my batch file is mostly working. ATM I'm having trouble getting the launcher to launch in the right place on Windows 7. On XP what I have should work fine as is. Hopefully tomorrow night I'll get it dialed in and post it for some testing.

Use this guide and point it to your batch file:

http://www.techrepublic.com/blog/window-on-windows/make-vista-launch-uac-restricted-programs-at-startup-with-task-scheduler/616

 

I read though all the pages and noone answered the question as to what exactly this does. So can someone tell me what does this do?
You're basically taking 3 files that are used more than they should be from your HDD to a faster medium such as your system ram.

Boosting performance and on some systems, client stability.

Link to comment
Share on other sites

 

Slightly different problem, but I got it worked out. It won't start unless the working folder is its own directory.

 

OK, the following SHOULD work for people using IMDISK. It:

 

1. Figures out where swtor is installed by checking the registry

2. Copies the settings folder from your profile to the installation location

3. Creates the ramdisk

4. Creates the t:\swtor\swtor\retailclient folder structure

5. Creates the symlinks

6. Starts the launcher

 

There are basic checks at each stage so we don't do extra work or destroy something useful. There's also one handled error regarding the isntall folder location. It's hardcoded to use T: as the ramdisk drive. If you want to change that, change all references from t: to the desired letter.

 

 

--++==INSTRUCTIONS==++--

 

Windows XP: copy and paste the text into a batch file. Run the batch file.

 

Windows Vista / 7: Copy and paste the text into a batch file. Either RMB - run as administrator, or create a shortcut tot he batch file, go to Properties - Advanced, and check the "Run as administrator" box.

 

USE THIS AT YOUR OWN RISK. I AM NOT RESPONSIBLE FOR ANY PROBLEMS YOU MAY HAVE AFTER RUNNING THIS CODE.

 

I will, however, try to help in any way possible. So, with no further ado...

 

@ECHO OFF
:SETVARS
for /F "skip=2 tokens=3,*" %%i in ('reg query "hklm\software\bioware\star wars-the old republic" /v "Install Dir"') do set installloc32=%%j
for /F "skip=2 tokens=3,*" %%i in ('reg query "hklm\software\wow6432node\bioware\star wars-the old republic" /v "Install Dir"') do set installloc64=%%j
IF NOT DEFINED installloc32 IF NOT DEFINED installloc64 GOTO ERRnoinstloc
IF DEFINED installloc32 IF DEFINED installoc64 GOTO ERRinstloc
IF NOT DEFINED installloc32 set installloc=%installloc64%
IF DEFINED installloc32 set installloc=%installloc32%

:COPY
IF NOT EXIST "%installloc%\swtor\retailclient" (xcopy "%localappdata%\swtor\swtor\settings" "%installloc%\swtor\retailclient" /E /I && ren "%localappdata%\swtor" swtor-orig)

:MKDRIVE
IF EXIST t:\ GOTO MKFOLDER
imdisk -a -s 2G -m T: -p "/fs:ntfs /q /y"

:MKFOLDER
IF EXIST "t:\swtor\swtor\retailclient" GOTO MKLINK1
mkdir t:\swtor
mkdir t:\swtor\swtor

:MKLINK1
IF EXIST "%localappdata%\SWTOR" GOTO MKLINK2
mklink /J "%localappdata%\SWTOR" "T:\SWTOR"

:MKLINK2
IF EXIST "T:\swtor\swtor\settings" GOTO MKLINK3
mklink /J "T:\swtor\swtor\settings" "%installloc%\swtor\retailclient\settings"

:MKLINK3
IF EXIST "T:\DiskCacheArena" GOTO LAUNCH
ren "%installloc%\swtor\DiskCacheArena" DiskCacheArena-orig
mklink "%installloc%\swtor\DiskCacheArena" "T:\DiskCacheArena"

:LAUNCH
set installdrive=%installloc:~0,2%
%installdrive%
cd %installloc:~2%
start "" "%installloc%\launcher.exe" /MIN
GOTO EOF

:ERRinstloc
@ECHO ON
@ECHO "Hmm, you seem to have two installation folders. Better post in the SWTOR forum!"
@ECHO OFF
PAUSE
GOTO EOF

:ERRnoinstloc
@ECHO ON
@ECHO "I can't find your installation folder! Sorry!  Post in the SWTOR forum if you have questions."
@ECHO OFF
PAUSE
GOTO EOF


:EOF

 

All credit goes to lemon_king for the method.

 

I'm sure someone out there can improve on this, it's certainly not perfect but it IS fairly simple. HTH!

 

EDIT 1/22/12 - I just ran this after a reboot and the game fired right up. I did notice a couple of lines that needed fixing (sloppy / system specific) and fixed them.

 

EDIT 1/23/12 - fixed the run as administrator instructions (thanks flem).

 

EDIT 1/26/12 - fixed for install locations with spaces (thanks several folks.)

 

EDIT 1/29/12 - added an error for no install location

Edited by mrkitethreeeight
fix hard coded e:
Link to comment
Share on other sites

These are really informative and great options. Alot of people out there do not know to much about computers thou and asking them to do this is quite a feat for them so for those computer users out there who are not to tech savvy I would suggest them downloading Game Booster.

 

It is an amazing piece of free software and you can a low performance comp or even mid performance computer into a computer that is doing good performance and that can run the game on pretty high settings. Shoot I still use game booster and my computer is a beast with the 1100t Black Edition CPU and 2 6970 HiS Turbo GFX cards and 16gigs of ram, overkill I know.

 

So go to http://www.iobit.com/gamebooster.html and download Game Booster 3. It is a free piece of software and it will work wonders for everyone's computer. Even top of the line rigs will have an increase in performance.

 

Have fun and enjoy!

Link to comment
Share on other sites

Ok, so i had a peek at this and it seems like really smart thinking :)

 

Anyway, my question is this. I only have 6GB in my laptop. Now im not entirely sure how this works but it seems like you're dedicating a section of the ram to be used by tor.

 

If i do this with 6gb of ram will it choke up the rest of my processes? Is it just going to force some of the cache in virtual ram anyway, which would nullify the point of this?

 

I know you said you should do it with 6GB or more but i just wanna check this 6 is actually enough ><

 

anyway, thanks for taking the time to share this its a really good guide and a really good idea

Link to comment
Share on other sites

×
×
  • Create New...