Jump to content

[HOWTO - RAMDRIVE] Increasing SWTOR System Performance


Lemon_King

Recommended Posts

Question,

 

Can someone that has the PTS installed and played that the settings folder for the PTS is located in the following location?

 

%localappdata%\SWTOR\publictest\settings

 

I wan't to release v1.2 of my c# program that can include this location for people that play PTS as without, the settings made on the PTS are lost as the settings are stored on the ramdisk instead on the relinked location.

 

That is the correct path.

Link to comment
Share on other sites

  • Replies 877
  • Created
  • Last Reply

Top Posters In This Topic

Question,

 

Can someone that has the PTS installed and played that the settings folder for the PTS is located in the following location?

 

%localappdata%\SWTOR\publictest\settings

 

I wan't to release v1.2 of my c# program that can include this location for people that play PTS as without, the settings made on the PTS are lost as the settings are stored on the ramdisk instead on the relinked location.

 

Thats the correct location

Link to comment
Share on other sites

Version 1.2 of the ramdisk program

 

PLEASE FIRST READ THIS BEFORE YOU USE!

 

This progam requires full administrator rights to run, thus for those that have UAC enabled will receive this warning to allow the program full acces. This is needed bacause the program will move, rename, delete and create links on the SWTOR game files.

 

I still did not find a good and correct way to format a drive (the ramdrive in this case) from a created program. This will prevent automatic mounting, as it could be done with a batchscript.

 

Therefore this program will create the batchscripts required to mount and dismount the ramdrive, to be able to play or free memory after play. It is still required to have Imdisk installed on your system, and run the batchscript as administrator!

 

Also to keep the settings and knowing what files are changed this program created an xml file named 'RamdiskSettings.xml'. It is in most importance that you do not delete, move and rename this file and assorted SWTOR game files. By doing so it cannot revert the setup correctly.

 

PROGRAM DOWNLOAD

 

 

This also applies to those who used the c# ramdiskprogram 1.0.0.0 as the created settings files has changed.

 

CHANGE LOG

  • Version 1.2; 2012-04-01
    • [NEW] Ability to add PTS settings link and show PTS asset files
    • [NEW] Button to recreate the batchscripts (according to the settings)
    • [CHN] Program icon
    • [CHN] PTS asset files are hidden by default
    • [CHN] Internal data handling
    • [CHN] Starting ramdisk size is now 50MB for filesystem and disk vs file size differences
    • [CHN] By this Local cache size down to 266MB from 300MB, local+arena+fx is now exactly 1,5GB
    • [FIX] Overflow exception when selecting normal+pts asset files

    [*]Version 1.1; 2012-03-27

    • [REV] Code revision and cleanup by exca

    [*]Version 1.0; 2012-03-25

    • [NEW] Initial release

 

WHY STILL BATCHSCRIPTS?

I don't have trouble creating a ramdrive with Imdisk, but to format a drive within the program. As once mounted it is RAW and have to be NTFS formatted. I want to supress the format dialog and let my program do it.

 

SOURCECODE WHERE?

I will release the sourcecode soon, to let more people look/help/improve the script. As this verison can be basic, with little IO error handling. Atm
exca
has it already and hopefully he can improve some parts or find a solution for the formatting.

Edited by Ocmer_
Link to comment
Share on other sites

I still did not find a good and correct way to format a drive (the ramdrive in this case) from a created program. This will prevent automatic mounting, as it could be done with a batchscript.

Apologies if I'm asking a stupid question, but if you can format the ramdrive via a batch file, then why not just run an appropriate command from within the program using some form of the ShellExecute() function? I believe the equivalent in C# is something like Process.Start.

Edited by Aurojiin
Link to comment
Share on other sites

Apologies if I'm asking a stupid question, but if you can format the ramdrive via a batch file, then why not just run an appropriate command from within the program using some form of the ShellExecute() function? I believe the equivalent in C# is something like Process.Start.

 

It's not stupid at all, and yes that should be possible seeing the program already has administrator rights due to the UAC. This was one of the possibilities I found, but I just need some time and experience to include it :)

 

Also I found another wat to first create a batchscript, then run that batchscript and delete it but that is imo just as ugly xD

 

Also I'm tinkering about to mount an empty ntfs image of ~3MB and then extend the size, which in theory Imdisk can do ;p

 

Anyway thanks for the input.

Link to comment
Share on other sites

Can't imagine this to be worth it compared to buying a 120 gig SSD and enjoying a huge speedup of all computing activities.

 

IMHO the OP forfeits all rights to talk about optimization when he has his system drive on a normal HDD and the game on an SSD - that's just stupid design right there.

 

The OS and the game on an SSD will solve the problem. Alternatively, invest in a hybrid drive that has built-in SSD caching for frequently used files. Or if it's upgrade time anyway, buy a motherboard with a Z68 chipset and a small SSD and it can create a hybrid drive type setup for you (use the SSD as persistent cache for the hard drive - I was fortunate enough to get such a motherboard for my last upgrade and have SSD speed for the game but a 1TB drive where I can install whatever I choose.)

 

Windows is memory-hungry and performs better with more memory. Partitioning off some to put parts of SWTOR on strikes me as a huge waste when you can use the memory for Windows and TOR and have TOR on an inherently fast drive.

Link to comment
Share on other sites

Can't imagine this to be worth it compared to buying a 120 gig SSD and enjoying a huge speedup of all computing activities.

 

IMHO the OP forfeits all rights to talk about optimization when he has his system drive on a normal HDD and the game on an SSD - that's just stupid design right there.

 

Well all I know I have Win7 + SWTOR both on an SSD that is connected to a native sata 6gb port. And by doing this I still get some kind of performance increase, especially the loading of charater looks in fleet and general hitching fps drops.

 

I know Windows is memory hungry but with 12GB and most of the time I won't even reach the 4GB, so I didn't see the reason why I could not. About the caching I did not try as I wont wanna upgrade my pc for only this game while for me this lil bypass fixed allot.

Link to comment
Share on other sites

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"

 

This aint working on vista 64 bit cmd crap.

 

If someone writes batch commands to perform it as batch will be good.

 

What do i change here

 

 

These?

 

%userprofile%

T:

 

I only changed "swtor install location"

 

Last and most stupid question:

 

I dont have a drive named as T: , will it be the virtual drive or do i need to buy something like external drive?

Edited by kijthae
Link to comment
Share on other sites

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"

 

This aint working on vista 64 bit cmd crap.

 

If someone writes batch commands to perform it as batch will be good.

 

What do i change here

 

 

These?

 

%userprofile%

T:

 

I only changed "swtor install location"

 

Last and most stupid question:

 

I dont have a drive named as T: , will it be the virtual drive or do i need to buy something like external drive?

 

Drive T: should be created if you followed the instructions to create a ramdrive with Imdisk. So download and install that program.

 

For a batchscript, you should have read further in the OP's post;

http://www.swtor.com/community/showpost.php?p=2892331

 

or for a newer c# program with a GUI, this will do all the steps and create in this version a mount batchscript that has to be run after a reboot and before playing as this script will create a ramdisk and copy needed files onto it.

http://www.swtor.com/community/showpost.php?p=3712269

Link to comment
Share on other sites

Drive T: should be created if you followed the instructions to create a ramdrive with Imdisk. So download and install that program.

 

For a batchscript, you should have read further in the OP's post;

http://www.swtor.com/community/showpost.php?p=2892331

 

or for a newer c# program with a GUI, this will do all the steps and create in this version a mount batchscript that has to be run after a reboot and before playing as this script will create a ramdisk and copy needed files onto it.

http://www.swtor.com/community/showpost.php?p=3712269

 

says i need to use ntfs crap but i already got it

Link to comment
Share on other sites

says i need to use ntfs crap but i already got it

 

hmm if you are sure both you OS (where local app data is in) and the disk SWTOR is installed is of the filesystem type NTFS then there is something wrong with my code.

 

You can safely remove the following block of code in the batchscript to continue without the ntfs check

 

:: NTFS check for both local drive and SWTOR drive
if exist %AppLocal:~0,2%\swtorramdiskntfstest.temp del %AppLocal:~0,2%\swtorramdiskntfstest.temp
@echo 1 > %AppLocal:~0,2%\swtorramdiskntfstest.temp:stream
if not exist %AppLocal:~0,2%\swtorramdiskntfstest.temp goto ErrorNTFS
del %AppLocal:~0,2%\swtorramdiskntfstest.temp

if exist %InstallPath:~0,2%\swtorramdiskntfstest.temp del %InstallPath:~0,2%\temp.temp
@echo 1 > %InstallPath:~0,2%\swtorramdiskntfstest.temp:stream
if not exist %InstallPath:~0,2%\swtorramdiskntfstest.temp goto ErrorNTFS
del %InstallPath:~0,2%\swtorramdiskntfstest.temp

 

For the record, the c# program does not have this kind of check built in it yet, so that can also be a solution.

Link to comment
Share on other sites

hmm if you are sure both you OS (where local app data is in) and the disk SWTOR is installed is of the filesystem type NTFS then there is something wrong with my code.

 

You can safely remove the following block of code in the batchscript to continue without the ntfs check

 

:: NTFS check for both local drive and SWTOR drive
if exist %AppLocal:~0,2%\swtorramdiskntfstest.temp del %AppLocal:~0,2%\swtorramdiskntfstest.temp
@echo 1 > %AppLocal:~0,2%\swtorramdiskntfstest.temp:stream
if not exist %AppLocal:~0,2%\swtorramdiskntfstest.temp goto ErrorNTFS
del %AppLocal:~0,2%\swtorramdiskntfstest.temp

if exist %InstallPath:~0,2%\swtorramdiskntfstest.temp del %InstallPath:~0,2%\temp.temp
@echo 1 > %InstallPath:~0,2%\swtorramdiskntfstest.temp:stream
if not exist %InstallPath:~0,2%\swtorramdiskntfstest.temp goto ErrorNTFS
del %InstallPath:~0,2%\swtorramdiskntfstest.temp

 

For the record, the c# program does not have this kind of check built in it yet, so that can also be a solution.

 

 

Thanks alot for the help

I couldnt run swtor , isee bioware logo then screen stays black.I tried repair tool but was inactive for me.

I tried to change appdata folder names to their original names but it didnt let me change swtor_original

I uninstalled all swtor , installed from dvd now i cant find anything related swtor in appdata maybe because i havent run the game once after reinstall.

 

Do i need to complete patch , log in once to game to be able to create folders in appdata and be able to continue ? I want to try it before I download patches if it works ill download patches and play.

Link to comment
Share on other sites

Thanks alot for the help

Do i need to complete patch , log in once to game to be able to create folders in appdata and be able to continue ? I want to try it before I download patches if it works ill download patches and play.

 

You need to have the game patched and played before local SWTOR is created.

 

Also if the game patches and you have asset files on it aswell, it would be wise to remove the setup, patch the game, and reapply the setup.

 

The all in one batchscript or the program both have a remove function aswell that reverts all changes.

 

Be sure to run the batchscripts AS ADMINISTRATOR.

Link to comment
Share on other sites

Ramdisk c# program with mount comming up.

 

Thanks to Sameria, I am able to format a drive from within my program.

 

This means that I will get rid of the ugly batchscripts, and create a mount/dismount button in the newer version. Also planning on the next release then a mount-only program that takes reads the settings file and will be able to be used as a startup program or a one-click mount and run, as it will have no GUI to control.

 

Will work on it this week, so expect it soon.

Thinking of branching this thread also to a newly created one so I have more control to put some updates in the OP, as our dear friend Lemon_King has given up on SWTOR ;p

Link to comment
Share on other sites

I'm sure this has been asked, but 80 pages is a bit excessive to scroll through and I'm sure others are wondering this as well.

 

--How do I know I've done this correctly and the drive is working properly?--

 

I can see in ImDisk that I have a mounted drive (the files appear to be shortcuts that error out if I try to open them).

 

I also note that my RAM usage goes up appropriately with the size of my virtual drive once I boot SWTOR.

 

Should this indicate that it's working? I THINK I see an FPS improvement, but then again it may just be wishful thinking - or it simply only improved by about 1FPS or so. I'm just not sure.

 

I have a Quad-Core system with 8 gigs and an Nvidia GTX 550 Ti. On absolute lowest settings (even textures at "very low") I still get horrendous lag in Warzones once they have been going for a few minutes and it does simply feel like a lot of data is building up and not being flushed out (which from what I read, is what this fix is supposed to alleviate).

 

I used the batchfiles after having no luck with the manual install and far as I could tell, it executed fine. ( I did have to create the virtual drive T, myself first, before running the batch - is that correct or is the batch supposed to do this as well?)

 

Any help would be much appreciated. I dont' lag much at all in the open world (have not been to Illum yet) but in Warzones it just gets absurd and I'm certain it's a software issue as my system shoudl be able to run on medium settings like little to no lag.

 

<3 <3 <3 Really appreciate members like ya'll who help the community out when the development team can't... or won't. <3

Link to comment
Share on other sites

I'm sure this has been asked, but 80 pages is a bit excessive to scroll through and I'm sure others are wondering this as well.

 

--How do I know I've done this correctly and the drive is working properly?--

 

The all-in-one batchscript is suposed to mount the ramdrive aswell for both setup and [M]mount.

 

By default the batchscript does the local cache and diskcachearena linking to the ramdisk, and optional asset files that have to selected by the settings within the script.

 

Local cache files (%localappdata%\SWTOR)is a folder, this includes you settings. After the creation this folder should be renamed to SWTOR_Original and created a folder SWTOR that looks like a shortcut.

 

DiskCacheArena is a file that is just deleted (no worries, the game recreated it) and linked and looks also like a shortcut. (this includes additional asset files if given).

 

If you can't open the the location, giving it an error, the ramdisk is not created therefor it cannot find the location.

 

Once the ramdisk is created (for example T:) there should be folder, T:\SWTOR\swtor, and in this folder should be a folder that looks like a shortcut and is named settings.

This is a linkback to the settings folder in SWTOR_Original that still resides in local.

 

Don't forget to run the script as administrator.

Edited by Ocmer_
Link to comment
Share on other sites

Can't imagine this to be worth it compared to buying a 120 gig SSD and enjoying a huge speedup of all computing activities.

 

I put SWTOR on my SSD and it didn't help the hitching pauses. It finally smoothed out some with a combination of SSD for the program and the page file, Fancycache, Ramdrive files and a 4GB ReadyBoost cache (for which I had to turn Superfetch back on). It's still far from perfect, though.

Link to comment
Share on other sites

You need to have the game patched and played before local SWTOR is created.

 

Also if the game patches and you have asset files on it aswell, it would be wise to remove the setup, patch the game, and reapply the setup.

 

The all in one batchscript or the program both have a remove function aswell that reverts all changes.

 

Be sure to run the batchscripts AS ADMINISTRATOR.

 

Thanks alot again.Great guide and help :)

I managed to do it with all-in-one thingy.

 

My fps is boosted 10-25 to 25-35 at warzones which is smooth enough for a fairplay :)

Edited by kijthae
Link to comment
Share on other sites

Version 2.0 of the ramdisk program

 

PLEASE FIRST READ THIS BEFORE YOU USE!

 

Mount and dismount options available and seperate no gui userinteraction program

MountDismount to mount or dismount a ramdisk according to the given settings.

(These two functions require to have Imdisk installed on your machine to be able to mount).

 

This progam requires full administrator rights to run, thus for those that have UAC enabled will receive this warning to allow the program full acces. This is needed bacause the program will move, rename, delete and create links on the SWTOR game files.

 

Also to keep the settings and knowing what files are changed this program created an xml file named 'ProgramSettings.xml'. It is in most importance that you do not delete, move and rename this file and assorted SWTOR game files. By doing so it cannot revert the setup correctly.

 

Please be aware when using asset files on the ramdisk that the game can return an error when it wants to patch, remove the setup prior patching, and run the setup again after patching.

 

PROGRAM DOWNLOAD

 

 

This also applies to those who used the ramdisk program 1.2 and earlier as the created settings files has changed.

 

CHANGE LOG

  • Version 2.0; 2012-04-03
    • [NEW] Mount and dismount abilties in the setup program
    • [NEW] Seperate no gui/user interaction program to mount or dismount the ramdrive
    • [NEW] In setup program ability to close itself after mounting or dismounting
    • [CHN] Removed the creation of batchscripts
    • [CHN] Changed name of settings file to "ProgramSettings.xml"

    [*]Version 1.2; 2012-04-01

    • [NEW] Ability to add PTS settings link and show PTS asset files
    • [NEW] Button to recreate the batchscripts (according to the settings)
    • [CHN] Program icon
    • [CHN] PTS asset files are hidden by default
    • [CHN] Internal data handling
    • [CHN] Starting ramdisk size is now 50MB for filesystem and disk vs file size differences
    • [CHN] By this Local cache size down to 266MB from 300MB, local+arena+fx is now exactly 1,5GB
    • [FIX] Overflow exception when selecting normal+pts asset files

    [*]Version 1.1; 2012-03-27

    • [REV] Code revision and cleanup by exca

    [*]Version 1.0; 2012-03-25

    • [NEW] Initial release

Edited by Ocmer_
Link to comment
Share on other sites

Awesome. Will download when I get home. The RAM Drive batch has made a definite difference in performance. I still lose FPS when I'm in the fleet when there's 250 or so people there, but I think that's just how it's gonna be. Definite improvements everywhere else though. Thanks for the utilities!
Link to comment
Share on other sites

Awesome work and I applaud your efforts!

 

Edit: Answered my question after using the program :)

 

Well just wanted to say, the program I created should include it but if you want to use the batchscript it is fairly easy.

 

As the setup places the whole local SWTOR folder onto the ramdisk, you won't have to edit the setup part of the the all-in-one script, for the local cache and settings.

 

On the mount part tough you have to add 2 lines to be able to link back the PTS settings folder;

 

On line 266

:: Create ramdisk folders
mkdir "%RamDrive%\SWTOR\swtor"
[color="Yellow"]mkdir "%RamDrive%\SWTOR\publictest"[/color]

 

On line 269

:: Create settings junction to SWTOR_Original in local
mklink /J "%RamDrive%\SWTOR\swtor\settings" "%AppLocal%\SWTOR_Original\swtor\settings"
[color="Yellow"]mklink /J "%RamDrive%\SWTOR\publictest\settings" "%AppLocal%\SWTOR_Original\publictest\settings"[/color]

 

Just remount if you ran setup with the batch, cuz that is a separate part and does not have the changes in.

Edited by Ocmer_
Link to comment
Share on other sites

Well just wanted to say, the program I created should include it but if you want to use the batchscript it is fairly easy.

 

As the setup places the whole local SWTOR folder onto the ramdisk, you won't have to edit the setup part of the the all-in-one script, for the local cache and settings.

 

On the mount part tough you have to add 2 lines to be able to link back the PTS settings folder;

 

On line 266

:: Create ramdisk folders
mkdir "%RamDrive%\SWTOR\swtor"
[color="Yellow"]mkdir "%RamDrive%\SWTOR\publictest"[/color]

 

On line 269

:: Create settings junction to SWTOR_Original in local
mklink /J "%RamDrive%\SWTOR\swtor\settings" "%AppLocal%\SWTOR_Original\swtor\settings"
[color="Yellow"]mklink /J "%RamDrive%\SWTOR\publictest\settings" "%AppLocal%\SWTOR_Original\publictest\settings"[/color]

 

Just remount if you ran setup with the batch, cuz that is a separate part and does not have the changes in.

 

As much as I loved the batch files, the EXE is much more efficient and convenient! Having been a programmer myself, I know the work involved and again, my sincere thanks for going through this effort for the community...we do appreciate it. Keep up the good work!

Link to comment
Share on other sites

×
×
  • Create New...