Jump to content

[HOWTO - RAMDRIVE] Increasing SWTOR System Performance


Lemon_King

Recommended Posts

I posted a link to this topic in the newish topic that Bioware posted about bug-fixing, asking them to take a look at it if they haven't already:

 

http://www.swtor.com/community/showthread.php?t=255991

 

I was watching for replies for at least a couple of hours and saw my comment post, with the link to this topic. Now I've gone back through all 40 pages of that thread and noticed that my post has been deleted.

 

Probably Bioware just doesn't want inexperienced users messing with their system in this way, but I also have to wonder if they're putting up a smokescreen.

 

Lemon's solution seems like it's probably very accurately pinpointing a major flaw in the engine. It's kind of annoying if that's why they deleted my post, but I will forgive them if they fix it.

 

My guess is they don't want people jacking up their system. The first time I tried this fix it made things much worse.

Link to comment
Share on other sites

  • Replies 877
  • Created
  • Last Reply

Top Posters In This Topic

I actually uninstalled and re-installed the game yesterday because it got so bad. it got to the point where graphics weren't loading (The fire karagga was putting down didn't show up for the first 45 seconds of the fight, not good a tank).

 

What I can tell you though, to make the formating problem go away I had to set imdisk to run as admin.

 

The problem in the batch file I was running into was in the 3rd symlink iirc.

 

Tonight I am going to set a restore point and try again, at least try the steps in the OP and see if I can even get that to work. I had a problem there too with the 3rd symlink. For that step how do I link to T:\DiskCacheArena if it doesn't exist?

 

You can make a symlink where the source and destination are both invalid, because the link itself becomes the source. mklink does not confirm that the destination of the symlink exists. What will error is trying to create a symlink with a name that is already in use.

Link to comment
Share on other sites

Sadly this did nothing noticeable for me. Balmorra still runs like crap. I'm forced to put everything down to low when I can play Crysis 2 on ultra, cause that makes sense. Thanks EA.

 

Side Note: Try installing the DX9 Runtime files if you can run Crysis 2 on Ultra. ;)

 

Still stuttering. Is there anything else I could try?

Try installing the DX9 runtime too, if you're on Vista/7 if you have not installed it before.

http://www.microsoft.com/download/en/details.aspx?id=35

Edited by Lemon_King
Link to comment
Share on other sites

I installed ImDisk and ran the batch file, worked right away so cheers for that.

 

However I couldn't tell yah if I loaded any faster, certain planets are least are still horrible, Corellia being one of them. Fleet still hiccups otherwise I don't really have dramatic FPS issues, but the loading times are annoying.

 

System for reference

 

CPU: Intel i7 920 3.0GHz, MOBO: EVGA x58 SLI LE (BIOS 83), RAM: 3x2 GB Mushkin Redline, SSD: 2x OCZ Vertex Turbo 60GB RAID0 (FW1.6), GPU: ASUS Nvidia GTX 560TI (285.62), SOUND: Creative X-FI Titanium FATALITY (2.17.0008), LCD: Samsung 2493HM, OS: W7 x64 Pro SP1, PSU: Corsair AX850 Professional Series Gold, CPUCOOLER: Corsair Hydro 50, CASE: Fractal Design Define R3 Arctic White, M&K: Logitech G15 + MX518.

Link to comment
Share on other sites

HOLY NUTS! He's running a second gen i5! Better buy a new desktop!
You are utterly adorable. :D

 

In my experience, it is difficult to swap out a laptop's GPU; in those cases where it is possible to do so at all. Hence, if the difficulty the poster is experiencing is because of the GPU not playing nicely with the game client (for whatever reason that they don't like each other), being unable to swap out the GPU for one that is more compatible with the game client is a non-fixable problem.

Link to comment
Share on other sites

I tried it,... tried many things, I can not get it working smooth :mad:
Well, curious question.

What graphics card do you have in your system or laptop?

 

WOW!! Thx!! It works perfectly on my system i saw a big improvement!!

 

Thx Lemon-King!

No Problem, glad you got it working. :D

Edited by Lemon_King
Link to comment
Share on other sites

So I set up the ram drive yesterday afternoon, and it was a success. Zero issues in creating the file links. I also checked this against task managers physical memory usage statistics, and it is definitely there and using resources like it should.

 

Now, I did notice loading improvements, but there were still hitching issues. i.e. looking around a room, as other players are entering it, I get a 15 or 20ms pause. Bioware did emergency service on their servers this morning, no patch attached to accompany the server maintenance. FEB 2nd AM Server Maintenance

 

I will be logging on for the first time since yesterday, so hopefully the maintenance made some improvement on the hitching issues. I will pst again shortly.

 

Also, what happens to the ram drive during an update to the TOR client? Since the ram drive stores the TOR cache file, (and associated settings folder) I would assume nothing?

Link to comment
Share on other sites

I wonder...

I can't help but notice that my DiskCacheArena file seems to cap around 1 Go.

 

Wouldn't you think this cap is kind of arbitrary ? Is 1 Go really enough if you switch planets and environments regularly ?

I confess I have no idea.

 

Also, do you think it could somehow improve game performance to delete the RAM'ed DiskCacheArena everytime before launching swtor ?

 

As I said, just wondering.

Link to comment
Share on other sites

I don't think it does matter much if you keep the cache between sessions or not. I already dismount my ramdrive after a session to free the memory, as I only have max 6GB.

 

The game loads just as fast/normal as without clearing (as I didnt noticed anything).

 

With the capping on 1GB can explain the reason that a ramdrive of 1.5GB still works for me. I don't know if it can be even more lowered, but I don't know what the other 2 files are acting at during gameplay.

 

Also after the latest patch, my fps seems to be unstable again and even with 60-70 fps I get some hitching now and then again :s

Link to comment
Share on other sites

I wonder...

I can't help but notice that my DiskCacheArena file seems to cap around 1 Go.

 

Wouldn't you think this cap is kind of arbitrary ? Is 1 Go really enough if you switch planets and environments regularly ?

I confess I have no idea.

 

Also, do you think it could somehow improve game performance to delete the RAM'ed DiskCacheArena everytime before launching swtor ?

 

As I said, just wondering.

 

The cap is defined by the software (SWTOR), it used to be 2gigs during SWTOR's beta testing until the last two weekend previews when it was decreased to 1gig.

 

I just choose the size for the ramdrive at 2gigs due to the unknown size of Stream and Static when holding data.

 

 

I don't think it does matter much if you keep the cache between sessions or not. I already dismount my ramdrive after a session to free the memory, as I only have max 6GB.

 

The game loads just as fast/normal as without clearing (as I didnt noticed anything).

 

With the capping on 1GB can explain the reason that a ramdrive of 1.5GB still works for me. I don't know if it can be even more lowered, but I don't know what the other 2 files are acting at during gameplay.

 

Also after the latest patch, my fps seems to be unstable again and even with 60-70 fps I get some hitching now and then again :s

Framerate has bit somewhat hit or miss for people with the past 2 major patches.

How they're handling data under the hood needs a good bit of work.

Edited by Lemon_King
Link to comment
Share on other sites

hey guys a question.

 

 

when doing mklink /J "%userprofile%\AppData\Local\SWTOR" "T:SWTOR\"

 

it says: the file can not be created when it already exists.

 

any advice?

 

Either you did not renamed the original 'SWTOR' folder to 'SWTOR_Original' in appdata\local. By doing this 'SWTOR' folder does not exists anymore and you can re-create it with mklink.

 

Or you created the mklink /J already earlier, which stays on your system after a reboot so this won't have to be executed again.

 

-- %userprofile%\AppData\Local\

|-- SWTOR_Original (this is the original folder created by the game but renamed by you)

|-- SWTOR (this is the mklink folder, it should have a arrow in the icon)

 

If you got an SWTOR folder with an arrow it is likely you already made the link to T:\SWTOR\

Edited by Ocmer_
Link to comment
Share on other sites

hey guys a question.

 

 

when doing mklink /J "%userprofile%\AppData\Local\SWTOR" "T:SWTOR\"

 

it says: the file can not be created when it already exists.

 

any advice?

You skipped a step in the tutorial. ;)

5. RENAME the SWTOR folder in Local to SWTOR_Original

Link to comment
Share on other sites

Thanks for the info, was wondering if there wasn't a method like texture caching LOTRO.

 

 

I'm using Romex's FancyCache atm.

The game disk has 2GB cache assigned with 120s lazywrite, averaging write amount and release after write, helps loads on loading times even with SSD's.

 

OS disk 1GB, no lazy writes there since that could end up bad in case of a power failure without a battery backup on at least the HD controller.

 

Going to check with imdisk on top, and check if there is any performance difference with exFat instead of NTFS.

Edited by Mineria
Link to comment
Share on other sites

This is a good tip, but it also points to a larger problem with the way the engine is bypassing the caching techology in Vista and Windows 7.

 

So, we also have found the way the game manages the assets and data files to be foolish.

 

The model the engine is using, works 'ok' on Windows XP that has limited predictive caching technologies, although it even degrades performance on XP.

 

However on Vista and Windows7, the engine is 'again - like the GPU issue' is circumventing the prefetch and caching technologies in Windows that work far better than the flat load model the engine is trying to use.

 

This thread is one way to 'compensate' for this lack, by artificially doing what Windows 7 would normally be doing automatically.

 

The Superfetch/Prefetch technology in Windows 7 'learns' how applications work, and also how the user works.

 

So if an application like Photoshop always loads supporting files A,B,C,D in a specific order, Windows remembers this, and the next time Photoshop is loaded, it puts these files into RAM even before Photoshop needs them. Also as Photoshop continues to run, any additional things it has used in the past is put into free RAM, so if it needs it, in it 'cached' in RAM as well. And reading from RAM is tremendously faster than reading from the Hard Drive, especially when it is not doing doing a simple and consistent linear read.

 

Windows also monitors how the user works, and if on Sunday morning you usually open your email program or a specific game, Windows will guess that you will keep doing this, and creates both a priority list and a time-based priority list that it uses to 'cache' (aka like a RAM Drive) the files into RAM at various times.

 

This is why Windows Vista and Windows 7 gets faster, as on new install, it doesn't know what to 'cache' into free RAM, yet over a period of time it learns and Applications just start loading faster and running faster, as the stuff you use is already loaded in a free RAM instead of always loading data from the Hard Drive.

 

(This is also why performance benchmarks when Vista was released were 'idiotic' as they would do a new install, and then run benchmarks on it. Yet the people that understood this would run the benchmarks for several days and then run the benchmarks, which would show the actual 'experience' and performance. There are other things that are optimized over the first few days of a Vista install, but didn't occur until a pre-set number of days and set number of reboots, etc. With Windows7, Microsoft have it try to get things optimized as fast as possible when the system is not is use, so that people running tests would get the actual results instead of the 'idiotic' results that 'reviewers' would get with Vista. Things things include the defrag technologies that 'place' things on the disk in the fastest locations, creating prefetch rules and lists, etc.)

 

 

----------------

Beyond the posted solution...

 

Ideally, the best 'fix' for this would be to get the game to NOT circumvent the 'caching' technologies in Windows 7, as it would learn how the game works and pre-load assets into free RAM before the game itself even realizes it needs them. This would reduce 'load times' and stop the 'lag' when 'new' things come up in the world, like other characters and assets like clothes that are not loaded in the game.

 

We have been trying to find a way to get the game to stop trying to handle the I/O itself and to just let Windows do the caching, as it would be faster than even the RAM Disk solution provided in this thread, as more 'data' and assets could be cached in free RAM, or start pre-loading things before the game starts loading them from the slower Hard Drive.

 

 

Also by use the DiskCacheArena file, this makes things worse, as the file is not 'consistent' and the game repopulates it with different data, thus Windows 7 can't predict it, and when it tries, is wasted as the game ignores any advantage.

 

 

 

Anyone out there that has found a setting to force the game to stop doing this STUPID stuff, try it out and post findings so that others can try it or use it as a starting point until Bioware wakes up and the Hero Engine developer realize that Windows 7 doesn't work like other OS technologies and what they are doing is ruining performance, especially for users that have 4GB of RAM or more, as a large part of the game could stay in 'pre-cached RAM' and users with 16 or 32GB of RAM (the uber systems of today) the game would fly that it is now being artificially prevented.

 

(Bioware are you following these threads?)

Link to comment
Share on other sites

Tried this out and got no difference in performance between using the FancyCache and the imdisk method.

I also tried to combine both, no difference there either.

But both do give better loading times than either Windows build in methods or no caching at all.

imdisk is completely free though, on the other hand a global disk cache works overall.

Also, I advice to use exFat for caching when ever possible on systems that support it, instead of ntfs.

Edited by Mineria
Link to comment
Share on other sites

 

However on Vista and Windows7, the engine is 'again - like the GPU issue' is circumventing the prefetch and caching technologies in Windows that work far better than the flat load model the engine is trying to use.

 

 

Prefetch gets disabled per default when Windows 7 is running on a SSD that minimum meets preset requirements.

Prefetch isn't that good caching technology when it comes to large game files either.

 

http://blogs.msdn.com/b/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx

Edited by Mineria
Link to comment
Share on other sites

×
×
  • Create New...