Jump to content

[HOWTO - RAMDRIVE] Increasing SWTOR System Performance


Lemon_King

Recommended Posts

I run SWTOR from three OCZ Vertex 2 SSDs in RAID 0. Loading screens on the TOR client are pretty much only limited to my Internet connection syncing with their servers. I always load into areas before anyone else around me, so I certainly don't need this ramdrive process.

 

I get an average of 693 MB/s transfer rate. My memory itself is around 1,880 MB/s (triple-channel DDR3-1333), so that's a factor of 2.7 read bandwidth. Of course the newer X79 systems with quad-channel memory with even more bandwidth, but you'd also pay out the nose for those motherboards, CPUs, and memory.

 

My SSDs were second gen that run about 220-240 MB/s each, but current 3rd gen SSDs with SATA-3 can reach 525+ MB/s. If you buy three of those and put them in a RAID 0 you'll hit 1,575 MB/s. That's a factor of only 1.2 read bandwidth. In other words, enough cheap SSDs in a RAID 0 can reach memory bandwidths.

 

Here's a $90 60GB SSD: http://www.newegg.com/Product/Product.aspx?Item=N82E16820227725. Get three of these for $270 and you've got near-memory read bandwidths circa 2010. If you get four or five you'll beat many memory bandwidths. And since it's a RAID 0 you'll multiply your storage capacity. That RAID 0 or 60GB drives turns into a 180GB logical drive. And before anyone starts poo-pooing RAID 0, let me give you my experience: of all the SSDs I've owned, which includes four OCZ Vertex Indilinx-based and four OCZ Vertex 2 SandForce-based, I've yet to have a single one die on me. And the older ones are more than three years old now.

 

So, struggle to keep this process going or shell out $270 for SSDs in a RAID 0 to get lightning fast performance. Personally, I'd rather skip the ramdrive caching tricks and choose a process that will not be easily broken by updates. Even a single SSD with 525 MB/s bandwidth smokes good hard drives anywhere from 70 to 100 MB/s on top of the latency of 3-10ms and head seek time.

+1

I'm going SATA 3 myself, since there is no point getting another Vertex 2 or V+ with the current prices.

I would also like to add, that people should not get frightened by the recent Sandforce rumors, specially since Intel's Rapid Storage driver was part of the stability problems.

 

I also prefer disk caching more than starting to use batch processes and junctions/links, actually exactly close to how a HP server raid card does, with exception that I can't adjust the read/write balance neither got a battery backup when defer write (lazy cache) is enabled, which doesn't matter for the gaming drive thou.

If you visit the OCZ forums you will see some more info and benchmark results regarding that fancy cache thing.

4x4GB RAM is down at $80 btw. :D huge difference in $ pr. GB between that and the 4x8GB kits.

Link to comment
Share on other sites

  • Replies 877
  • Created
  • Last Reply

Top Posters In This Topic

The imdisk method posted by the OP is missing several line from the original version.

As example:

: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%

All checks are there for a reason, to make it simple and easy for everyone to use it, don't just throw them out.

That batch in your post came from this posting by mrkitethreeeight: http://www.swtor.com/community/showpost.php?p=1965652

 

Anything special need to be done if one decides to remove the Ramdisk? Say I've installed ImDisk, but would like to remove it and the changes I've made.

 

Do I need to remove the mklinks I've made? Re-name the _Original back, and carry on?

Correct. The client will regenerate the missing DiskCacheArena.

 

Going somewhat off topic...

There is one thing that gives a bigger drop in fps, down to 35fps, that is when I move trough the door from the docking bay to the fleet center.

Which looks more like an issue with amounts of requests and calculation, somehow I got the idea that BW has done the n00b thing making requests for all stored data from the DB for every other client that roams in the same area.

I wonder what the internal server latency is up at, since latency to the server looks just fine, same can be said for available bandwidth.

Bottleneck in the engine itself maybe? Since DPC Latency looks very good too, no crazy spikes there at all.

Its the client generating Atlas Textures of other players as they come and go from the Fleet.

 

So, struggle to keep this process going or shell out $270 for SSDs in a RAID 0 to get lightning fast performance. Personally, I'd rather skip the ramdrive caching tricks and choose a process that will not be easily broken by updates. Even a single SSD with 525 MB/s bandwidth smokes good hard drives anywhere from 70 to 100 MB/s on top of the latency of 3-10ms and head seek time.
There is no struggle to keep it working between patches, as Patches don't break the basic DiskCacheArena Ramdrive setup.

I just explored other means for a small performance boost.

 

Secondly, I'm trying to give players a cost effective way for a performance boost when it comes to loading times and not going to demand they fork out 250+ bucks for it.

Edited by Lemon_King
Link to comment
Share on other sites

using "swtor_main_art_fx_1.tor" on ramdrive with a mklink in /assets gave me an error during patching today. Removed the mklink and copied back the file back to the /assets folder and restarted the launcher, which then updated correctly.

 

**On a side note, i needed to copy back from my ramdrive bacause the origional file is in a ramdisk image file, which I load every time i start playing.**

 

Has anyone else encountered or tried to update it while there is an asset file on a ramdisk, if so we are forced to reverse the ramdisk first to update.

 

That was my experience as well. When I removed the link to the .tor file, it patched properly. It's a shame, since that's supposed to be transparent to applications.

Link to comment
Share on other sites

I would also like to add, that people should not get frightened by the recent Sandforce rumors, specially since Intel's Rapid Storage driver was part of the stability problems.

 

Indeed. :) I warned people to stay away from them in 2011, but now they all have updated firmwares and Intel's RST works just fine now.

 

OCZ has a new line of SSDs out with a new Indilinx processor that looks interesting (OCZ bought Indilinx). And LSI bought 3Ware a while ago, but just recently bought up SandForce! Since LSI is in bed with Intel, it's only a matter of time until you see Intel and OCZ as main competitors. The funny part? OCZ still contracts with LSI/SandForce for controllers. That may soon change.

 

So we'll be back to the old battle of SandForce and Indilinx, except with different owners pulling the strings. LSI vs. OCZ.

 

4x4GB RAM is down at $80 btw. :D huge difference in $ pr. GB between that and the 4x8GB kits.

 

Yup, but depends on which DDR type and the bandwidth. DDR3-1333 is dirt cheap, but DDR3-1866 is smokin' high for pricing, especially in the quad-channel variety. The DDR3-1600 kits are reasonable.

 

There is no struggle to keep it working between patches, as Patches don't break the basic DiskCacheArena Ramdrive setup.

 

Good to know. :) I haven't kept up to date with your guide here.

 

I'm trying to give players a cost effective way for a performance boost when it comes to loading times and not going to demand they fork out 250+ bucks for it.

 

And I'll give players hardware solutions to the client file reading performance issues, from the expensive to the cheap. $90 for a 525MB/s 60GB SSD is pretty cheap. After all this thread is titled "Increasing SWTOR System Performance", so it's nice to see a bunch of options in here. We don't tell people what to do, we just offer advice and updates to that advice.

Link to comment
Share on other sites

That batch in your post came from this posting by mrkitethreeeight: http://www.swtor.com/community/showpost.php?p=1965652

I know, you link to it in the OP.

What I don't understand is, why are you not utilizing the installation location lookup?

Much easier for the average Joe, than figuring out where the game installed.

Might sound as weird to you as me, but there are plenty of gamers that don't even know where explorer.exe is located neither how to find it.

And that lookup really doesn't cost anything extra regarding processing time.

Since your thread gets a lot of views, and since we know that the method works (for free), make it easy for people that are PC handicapped, that is all I ask. ;)

 

Yup, but depends on which DDR type and the bandwidth. DDR3-1333 is dirt cheap, but DDR3-1866 is smokin' high for pricing, especially in the quad-channel variety. The DDR3-1600 kits are reasonable.

Quad channel.. not even worth to consider 10% more performance for the few things where it applies, not to mention the price for those sets.

Sorry, but it is the same thing with the old triple channel.

DDR-1600's are fine, you can get good performing 4x4 sets for $80 (I checked newegg as reference for U.S price), most of them even run 1800+Mhz without problems, as always people should check reviews and nerd forum test results before buying.

And with that we are not even talking low budget RAM :)

Edited by Mineria
Link to comment
Share on other sites

OP, you might want to mention at the top that this is for Windows 7 and Vista only, specifically 64-bit versions. First, a user wouldn't want to do this with only 4GB of RAM or less (ie: just over limits of 32-bit operating systems). Second, you use AppData paths in your walkthrough which is very different on Windows XP.

 

If you mention that first then you can get right of your other mention of Windows 7/Vista further into the walkthrough.

 

Also, you might want to refine what you mean by hitching on an SSD. In good quality second and third gen SSDs there is no hitching. Only first gen and crappy low-end SSDs suffer hitching.

Edited by cipher_nemo
Link to comment
Share on other sites

OP, you might want to mention at the top that this is for Windows 7 and Vista only, specifically 64-bit versions. First, a user wouldn't want to do this with only 4GB of RAM or less (ie: just over limits of 32-bit operating systems).

Couldn't see any support for hidden memory in the imdisk documentation, and a post from the author seems to confirm that it doesn't support it.

Those with 32bit OS and more than 4GB ram (why would anyone even have that?) can still try Fancy Cache beta thou, since it is able to use that RAM.

 

Found some ramdisk options that can thou, but none for free:

SuperSpeed RamDisk (Plus)

A RAM Disk that can use installed memory over 4 GB in 32 bit Windows

 

VSuite Ramdisk (now Primo Ramdisk) Standard Edition

A RAM Disk that can use installed memory over 4 GB in 32 bit Windows

 

 

Second, you use AppData paths in your walkthrough which is very different on Windows XP.

 

Windows Vista/7 has it already in the system paths %LOCALAPPDATA%

 

Windows XP has it located at %UserProfile%\Local Settings\Application Data

 

Registry can be checked to get the and set the correct path in the batch script:

('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', 'Local AppData')

Edited by Mineria
Link to comment
Share on other sites

Did some more testing, and I gained a huge performance boost by moving the following files to memory - Requires a 4gig RamDrive.

 

As for the performance gain, character loading goes from a long series of dragged out bursts to one quick burst with characters popping in at extremely fast speeds.

 

swtor_main_art_dynamic_cape_1.tor
swtor_main_art_dynamic_chest_1.tor
swtor_main_art_dynamic_chest_tight_1.tor
swtor_main_art_dynamic_hand_1.tor
swtor_main_art_dynamic_head_1.tor
swtor_main_art_dynamic_lower_1.tor
swtor_main_art_dynamic_mags_1.tor
swtor_main_art_fx_1.tor

Hooray Atlas Generation, being slow. :p

 

Junction Script - Aimed at Advanced Users: USE THIS AT YOUR OWN RISK

 

Junction Reversal

 

Just a small suggestion: Might want to add a /Y parameter to the COPY commands in the junction script to silence the overwrite prompt. Alternatively, add delete commands to remove the asset files on the ramdrive in the junction reversal script. This allows you to run the junction script again after running the reversal script, as the original scripts would stop at the copy because the asset files already exist on the ramdrive.

Link to comment
Share on other sites

OP, you might want to mention at the top that this is for Windows 7 and Vista only, specifically 64-bit versions. First, a user wouldn't want to do this with only 4GB of RAM or less (ie: just over limits of 32-bit operating systems). Second, you use AppData paths in your walkthrough which is very different on Windows XP.

 

If you mention that first then you can get right of your other mention of Windows 7/Vista further into the walkthrough.

 

Also, you might want to refine what you mean by hitching on an SSD. In good quality second and third gen SSDs there is no hitching. Only first gen and crappy low-end SSDs suffer hitching.

 

My first OP stated that it was recommended that the user at least have 6gigs of ram.

The hitching is caused by the engine pausing to flush data then creating and saving said data in the cache. :p

 

I know, you link to it in the OP.

What I don't understand is, why are you not utilizing the installation location lookup?

Much easier for the average Joe, than figuring out where the game installed.

Might sound as weird to you as me, but there are plenty of gamers that don't even know where explorer.exe is located neither how to find it.

And that lookup really doesn't cost anything extra regarding processing time.

Since your thread gets a lot of views, and since we know that the method works (for free), make it easy for people that are PC handicapped, that is all I ask. ;)

 

Problem is, its been hit or miss with some machines. Especially if the user has moved the install folder around before.

Edited by Lemon_King
Link to comment
Share on other sites

Batty, I have an SSD and even with it you'll still get the performance drops.

 

Did you not disabling caching on the SSD?

You really should as caching on it can actually cause problems, especially later down the road.

 

You need to minimize all the background writes to your OS drive as much as possible if it happens to be an SSD. All those mini writes to cache can be like throwing gas on a fire if you're having drive performance issues.

Link to comment
Share on other sites

Did you not disabling caching on the SSD?

You really should as caching on it can actually cause problems, especially later down the road.

 

You need to minimize all the background writes to your OS drive as much as possible if it happens to be an SSD. All those mini writes to cache can be like throwing gas on a fire if you're having drive performance issues.

I have 3 drives within my system each with a different role.

C:\ - OS & General Apps

D:\ - General Game & Scratch Space

S:\ - SSD with WoW, TOR & a game bound by NDA.

 

Lastly, caching is not active. :p

Edited by Lemon_King
Link to comment
Share on other sites

My first OP stated that it was recommended that the user at least had 6gigs of ram.

 

There is a 64-bit version of Windows XP out there. Although it's usage is extremely low, just stating a minimum requirement of 6GB is not saying the same thing as "64-bit versions of Windows 7 or Windows Vista only". Also, there is nothing preventing a Windows XP user from installing more than 4GB of RAM in their computer. It's just that they won't be able to use the extra RAM unless they do something like Mineria, mentioned, which is sketchy at best?

 

The hitching is caused by the engine pausing to flush data then creating and saving said data in the cache. :p

 

Good update in the OP for this. :)

 

S:\ - SSD with WoW, TOR & a game bound by NDA.

 

What model SSD do you have? There is a huge difference in SSDs.

Edited by cipher_nemo
Link to comment
Share on other sites

I have 3 drives within my system each with a different role.

C:\ - OS & General Apps

D:\ - General Game & Scratch Space

S:\ - SSD with WoW, TOR & a game bound by NDA.

 

Lastly, caching is not active. :p

 

Just checking!

^_^

Link to comment
Share on other sites

Am i the only one getting the "The system cannot find the path specified" error with the last code line? (mklink "<SWTOR Install Location>\Star Wars-The Old Republic\SWTOR\DiskCacheArena" "T:\DiskCacheArena")

 

Help me pls :confused:

 

I have to ask: I assume you replaced "<SWTOR Install Location>" with the actual install location on your PC?

 

In the command prompt, try to do: CD (path) and press enter where "(path)" is that path you're trying to enter to make sure it exists.

Edited by cipher_nemo
Link to comment
Share on other sites

I have to ask: I assume you replaced "<SWTOR Install Location>" with the actual install location on your PC?

 

In the command prompt, try to do: CD (path) and press enter where "(path)" is that path you're trying to enter to make sure it exists.

 

Yes i have replaced. It worked with the 3rd line, but im getting that error with the exact same path on the last line...

 

And yes it works with CD command in command prompt :S

Link to comment
Share on other sites

Hi wanted to give this a try but thats what i get...

 

(this is just one line to show..)

 

mklink "C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars-The Old Republic\SWTOR\DiskCacheArena" "T:\DiskCacheArena"

The system cannot find the path specified

 

And so on...i have double checked and the path are goods...i am supposed to copy anything on the ram drive ? i mean manually

 

Thanks in advance for you answer !

Edited by Akhalani
Link to comment
Share on other sites

For people having trouble with finding the path, are you sure "mklink" is recognized from where ever you're trying to run it? Do mklink /? by itself to test.

 

The command works fine for me on a directory that exists with a drive I have as a target (D)...

 

C:\>mklink "C:\Program Files (x86)" "D:\test"
symbolic link created for C:\Program Files (x86) <<===>> D:\test

C:\>

Edited by cipher_nemo
Link to comment
Share on other sites

I was trying this stuff yesterday. Here's a checklist:

 

- Did you make sure that the RAMDrive was created? It should show up as a drive called T:

- Did you run command prompt in Administrator mode? You need this if you're making links in "\Users\" or "\Program Files\" or "\Program Files (x86)\".

- Did you accidentally add or remove the "/J" option? "/J" is used for linking directories, but it's not used for linking files.

Link to comment
Share on other sites

×
×
  • Create New...