View Single Post

Lemon_King's Avatar

01.09.2012 , 03:18 PM | #1
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.

*Hitching is caused by the engine pausing to flush data in DiskCacheArena then creating data to save there once freed up, including Atlas Texture Generation for Dynamic Models.

Now why is this a bottleneck? - Click Spoiler to see

Setting up a RamDrive
You will need 6 Gigs or more of Ram, a 64bit version of Windows, and some software, your other solution is to hunt down some Hardware to bypass OS limits.

Software you will need

ImDisk Virtual Disk Setup
imdisk -a -s 1500M -m T: -p "/fs:ntfs /q /y"
If you are having issues, change 1500M to 2G.

Creating 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 %userprofile%\AppData\Local
  3. Scrolling down you should see a folder called SWTOR, open it and Copy the settings folder to <SWTOR Install Location>\Star Wars-The Old Republic\SWTOR\retailclient\
  4. Delete DiskCacheArena if it exists in <SWTOR Install Location>\Star Wars - The Old Republic\SWTOR\
  5. RENAME the SWTOR folder in Local to SWTOR_Original
  6. Run cmd with Admin Rights change <SWTOR Install Location> to your SWTOR Install Location.
    mkdir T:\SWTOR\swtor
    mklink /J "%userprofile%\AppData\Local\SWTOR" "T:\SWTOR\"
    mklink /J "T:\SWTOR\swtor\settings" "<SWTOR Install Location>\Star Wars - The Old Republic\SWTOR\retailclient\settings"
    mklink "<SWTOR Install Location>\Star Wars - The Old Republic\SWTOR\DiskCacheArena" "T:\DiskCacheArena"

What to do on a Reboot with IMDrive?
Save the code below as a batch file and follow this guide here: Windows Vista / 7 UAC Launch on Startup
Allowing the Ramdrive to startup and be prepped for SWTOR without having to manually run the batch file everytime.
imdisk -a -s 1500M -m T: -p "/fs:ntfs /q /y"
mkdir T:\SWTOR\swtor
mklink /J "T:\SWTOR\swtor\settings" "<SWTOR Install Location>\Star Wars - The Old Republic\SWTOR\retailclient\settings"

Removing ImDrive & Junctions
Run this batchfile and it should remove all links to the Ramdrive, Restart your PC and uninstall ImDrive.
del "%userprofile%\AppData\Local\SWTOR"
rename "%userprofile%\AppData\Local\SWTOR_Original" SWTOR
del "<SWTOR Install Location>\Star Wars - The Old Republic\SWTOR\DiskCacheArena"
Be sure to change <SWTOR Install Location> to your SWTOR Location!

Simple All-In-One Boot Batchfiles
Experimental Stuff
Using Junctions to move Dynamic Player Data to your a Ramdrive (Requires a 4gig Ramdrive)

Other Software to Help Improve Performance
  • Superspeed 5 (RETAIL)
    SuperCache breaks the disk I/O bottleneck by using the computer's RAM to hold or contain the most frequently used disk data. As a program sends and receives disk data, the most frequently used data is read from and written to RAM not the hard drive thus accelerating the program's performance.
    WARNING: Do not use Write/Defer Write without a UPS Backup!
  • Fancy Cache (BETA SOFTWARE) (RETAIL)
    FancyCache is a supplementary software caching scheme that cooperates with system memory to provide data caching for volumes/disks. It improves system performance by transparently storing data into memory such that future requests for that data can be served faster.
    Currently Free due to Beta.
    WARNING: Do not use Write/Defer Write without a UPS Backup!

Common Hardware Performance Issues

First, make sure you have Direct X 9 Updated / Windows Vista/7 Framerate Issue
If you're on Vista / 7 and you have NOT installed the DirectX 9 Runtime from Microsoft I highly suggest you do so.

Q: I have a Computer with a CPU slower than an i5 and I'm still having Studdering/FPS Issues!
A: Its time to upgrade that Computer.

Q: I have an i5 or higher and I'm still having Studdering/FPS Lag!
A: Then check your videocard; If its slower than GeForce 550 or a Radeon 6600 or 6700 series you might want to upgrade your videocard - or just turn off Shadows ingame.

Q: I have done all of the above and my performance is still terrible - or I don't have the Cash to Upgrade.
A: See this Thread - Run your patcher, go into ../Assets/ and rename swtor_main_art_fx_1.tor to swtor_main_art_fx_1_Backup.tor and then launch SWTOR.
You will get a FPS increase, but loose pretty much every fancy particle effect and sfx tied to it.

TODO: Expand on Fancy Cache/Super Speed 5 for those that are interested