Jump to content

Quarterly Producer Letter for Q2 2024 ×

[HOWTO - RAMDRIVE] Increasing SWTOR System Performance


Lemon_King

Recommended Posts

Having some issues here. I just started playing with this today and now I can't get past the load screen. It drops out with an error message window that just disappears before I can even begin to read it. I started with the dynamic 4G ramdisk all in one, everything seemed to b e setup just fine and after trying to launch the drop out happened. So i tried the basic 1.5G ramdisk and same result. Now i've removed the ramdisk with the all in one and reset everything back to the way it was (I think). SO currently no ramdisk and i'm still not able to get past the launch screen. Any ideas on what happened, or what I need to do to fix it?
Link to comment
Share on other sites

  • Replies 877
  • Created
  • Last Reply

Top Posters In This Topic

I was able to solve my problem, it seems something went wrong with the 4G batch when I removed the setup - it didn't rename all the asset files properly and several still had the _ORIG renaming convention. I renamed the files deleting the _ORIG and voila! no more crashes after the launch screen.
Link to comment
Share on other sites

I was able to solve my problem, it seems something went wrong with the 4G batch when I removed the setup - it didn't rename all the asset files properly and several still had the _ORIG renaming convention. I renamed the files deleting the _ORIG and voila! no more crashes after the launch screen.

 

There is an option ® in the script that does that, if you use the last one posted by kaouthakis here: http://www.swtor.com/community/showthread.php?t=154568&page=63

Tested it trough, works fine, only hate the damn ugly DOS coding style, so might do something in C++ or C# instead.

Edited by Mineria
Link to comment
Share on other sites

After seeing all of this yesterday, I got pretty interested. Been seeing some great performance increases, particularly since I have 16GB of RAM and can put essentially everything that's been mentioned so far onto a ramdisk(I'm using 6GB, but 5GB would probably work - I just wanted the extra gig just in case). To that end, I went ahead and modified Ocmer_'s all-in-one batch file so that it has an option to include the dynamic character asset files, as well. Ocmer_, I stuck to your general style, and didn't change anything other than what I added. Here's the new code:

 

Yes, it is rather significantly longer.

 

Added it to the OP, extremely nice work. :D

Any further updates, just edit the post you made.

Edited by Lemon_King
Link to comment
Share on other sites

There is an option ® in the script that does that, if you use the last one posted by kaouthakis here: http://www.swtor.com/community/showthread.php?t=154568&page=63

Tested it trough, works fine, only hate the damn ugly DOS coding style, so might do something in C++ or C# instead.

 

Mine ALL-IN-ONE CACHE+FX+DYNAMIC version also does this but I think I know what went wrong. He first setup this version, didnt work, swapped to another version (without dynamic) and then tried to remove the setup.

 

As the other versions does not check dynamic asset files to revert, it leaves them alone. I was already thinking of it, that this might happen as I have 3 different batchscrips now.Going to soon put them into one again, once I made a better error output into the CACHE+FX+DYNAMIC version (as it only shows missing assets as a decimal number).

 

As for the C#, I've already looked into that. It seems Imdisk has a .NET library for C# programs so it should be possible. http://stackoverflow.com/questions/7060649/creating-a-virtual-disk-mount-point

 

-- general --

 

As kaouthakis did with my script, he followed my style (which is the same) but I was not happy the script did quit at each missing asset file (mentioned before when he posted it) and had some ideas for it. I created mine in a manner it just runs trough all asset files, and on the end it lists missing asset files all at once. Also I reduced allot of lines, because I reuse now more parts of the script.

Edited by Ocmer_
Link to comment
Share on other sites

Small update, managed to get a good error displaying of missing asset files.

(Gonna lov bitwise operations, tho weird to implement in batch).

 

I'll create one single version over the day or tomorrow, after I rechecked the code, doing some optimalization (code reduction/reusing) and recommenting steps.

 

edit; 495 lines. Doing validating the script tomorrow.

 

Might aswell add a check for ntfs filesystem (if possible in batch) because creating links works only on this. Also maybe an override installpath option for people who have installed swtor on another disk, and reinstalled Windows without having to reinstall SWTOR, thus registery entry will be missing of the path.

Edited by Ocmer_
Link to comment
Share on other sites

Also maybe an override installpath option for people who have installed swtor on another disk, and reinstalled Windows without having to reinstall SWTOR, thus registery entry will be missing of the path.

 

Please do this as I think this may be why I cant get the batchfile to mount the necessary Old Republic game files to the RamDrive.

 

After running the batchfile, the game crashes after logging in, briefly flashing the message:

 

"The program encountered an internal error and will exit.

error code: 5

Failed to load game assets. Please contact customer support."

 

I tried to repair the game client, didnt work. I tried to replace the files with the original files from the client on another disk, and still nothing. Please help me solve this, im hoping not to have to uninstall/redownload/reinstall the client, as it would take me forevert with my current connection. Is there an easier/more efficient way to fix this? Thanks in advance.

Link to comment
Share on other sites

Please do this as I think this may be why I cant get the batchfile to mount the necessary Old Republic game files to the RamDrive.

 

After running the batchfile, the game crashes after logging in, briefly flashing the message:

 

"The program encountered an internal error and will exit.

error code: 5

Failed to load game assets. Please contact customer support."

 

I tried to repair the game client, didnt work. I tried to replace the files with the original files from the client on another disk, and still nothing. Please help me solve this, im hoping not to have to uninstall/redownload/reinstall the client, as it would take me forevert with my current connection. Is there an easier/more efficient way to fix this? Thanks in advance.

 

The script just quits when it cannot find the installpath of SWTOR in the registery, so that isn't the problem here.

 

If you go to the asset folder, check if none of the assets still have a arrow in the icon, and that all renamed assets are renamed back and taking >1kB diskspace.

 

Also remove the setup with the script you did use to setup (that is if the script you used are comming from me), or w8 till tomorrow as ill upload my newest all-in-one that runs trough all asset files with removing.

Link to comment
Share on other sites

Mine ALL-IN-ONE CACHE+FX+DYNAMIC version also does this but I think I know what went wrong. He first setup this version, didnt work, swapped to another version (without dynamic) and then tried to remove the setup.

 

As the other versions does not check dynamic asset files to revert, it leaves them alone. I was already thinking of it, that this might happen as I have 3 different batchscrips now.Going to soon put them into one again, once I made a better error output into the CACHE+FX+DYNAMIC version (as it only shows missing assets as a decimal number).

 

As for the C#, I've already looked into that. It seems Imdisk has a .NET library for C# programs so it should be possible. http://stackoverflow.com/questions/7060649/creating-a-virtual-disk-mount-point

 

-- general --

 

As kaouthakis did with my script, he followed my style (which is the same) but I was not happy the script did quit at each missing asset file (mentioned before when he posted it) and had some ideas for it. I created mine in a manner it just runs trough all asset files, and on the end it lists missing asset files all at once. Also I reduced allot of lines, because I reuse now more parts of the script.

Thanks, already assumed that there was a library, but probably best with a C++ approach for OS compatibilities sake.

Requires a tiny bit more work than C# but worth it, and will also make it possible to port it to OSX and Linux if needed.

 

http://www.ltr-data.se/opencode.html/

API

API functions are available for C/C++, COM and .NET clients. If you want to call functions for creating/removing/querying virtual disks from your own program you can #include the file inc\imdisk.h in your C/C++ source files and link the cpl\i386\imdisk.lib library. Read inc\imdisk.h in source archive for documentation about C/C++ usage. If you would like information about how to write compatible server-end software in C/C++ you can take a look at the I/O packet structures in inc\imdproxy.h.

 

A class library DLL for COM and .NET developers is available as a separate wrapper DLL. You can download that DLL here or an archive including the actual DLL along with import libraries and registry files for COM usage here. Look here for on-line documentation about .NET API. There are also, as usual, xml files with method/parameter descriptions available to each assembly file.

 

Also found the documentation :D

http://www.ltr-data.se/library/ImDiskNet/html/b33f1e89-3d92-fc08-248d-14c5c2efd549.htm

 

Lets see if I can find some time which I can spend on it, will put it open source if so, probably on assembla as a Hg repo.

Edited by Mineria
Link to comment
Share on other sites

Lets see if I can find some time which I can spend on it, will put it open source if so, probably on assembla as a Hg repo.

 

yay for opensource then I'll can have a look at is aswell, to help maybe n stuff. Tho I'm not familiar with c++ only flat c for microcontrollers, but I can at least read and interpert it ;)

Link to comment
Share on other sites

If you go to the asset folder, check if none of the assets still have a arrow in the icon, and that all renamed assets are renamed back and taking >1kB diskspace.

 

This solved it for me. Found the 8 files the launcher was attempting to "repair." They all had _ORIG. tag. Thank you very much for your fast help _Ocmer.

Ill try the basic batchfile for now.

Link to comment
Share on other sites

The cache-only batchfile worked wonders for my FPS and performance. You're the man.

 

 

I have 8gb of RAM, would it be advisable to try the 4gb batchfile? Thanks.

 

Just wait till tomorrow, I'll add my newest ALL-IN-ONE batchscript then. I'm just done validating the batchscript, but I'll have to write some extra instructions on my post due to the new options available inside the script.

 

Cache is always placed on the ramdisk, but users can now select again for adding the fx file and/or dynamic asset files. There is no check yet for ramsize, but it is commented what the recommended values are, for different cases.

 

Also the scripts now first checks if the system is 64bit with the "%PROCESSOR_ARCHITECTURE%" variable (don't know how reliable this is).

 

Users can also override the InstallPath by filling in manually the path if the script can't find it by reading out the registery, we all can think of situations this might happen.

 

Too bad I couldn't find a solution to check if the installdisk or osdisk are both ntfs as filesystem, due to linking only works on this. If someone can think of an easy to implement solution, please speak up!

 

And then I'm hoping it's done for the creating batchscrips, as it has now what most people asked for it. Then it's hoping Mineria gets around for a GUI type C++/C# file where more things are available...

 

edit; @Kilimaanjaro and yes using a 4GB ramdisk for the asset files is possible with 8GB ram.

Edited by Ocmer_
Link to comment
Share on other sites

You may have spoken to this earlier, but there are 60+ pages here, I haven't read through ALL of them. Would it be possible for you to add a brief change-log on the actual posts for the code? Just something brief:

 

ALL-IN-ONE CACHE+FX VERSION [1.5~2GB][64-bit]

This creates a ramdrive for the three cache files and fx asset file.

Updated: 2/26/2012 - Added fix for ...

 

Just a thought.

 

And... although I doubt you need it, I've got some bandwidth at my disposal if you ever need it to host downloadable copies of these scripts.

Edited by TrogdorTheBurn
Link to comment
Share on other sites

And... although I doubt you need it, I've got some bandwidth at my disposal if you ever need it to host downloadable copies of these scripts.

 

They're raw text, they should easly fit in the forum post limits.

If the scripts do manage to become big enough where you need more space you can use pastebin.

Edited by Lemon_King
Link to comment
Share on other sites

 

Too bad I couldn't find a solution to check if the installdisk or osdisk are both ntfs as filesystem, due to linking only works on this. If someone can think of an easy to implement solution, please speak up![/color]

 

 

Iam not sure if that helps, perhabs a way that helps?

Sorry about my english

 

http://stackoverflow.com/questions/6995813/how-can-i-use-batch-to-determine-if-a-computer-is-using-fat32-or-ntfs

Link to comment
Share on other sites

they should easly fit in the forum post limits.

 

I was more referring to straight up .bat downloads for the uberlazy out there. And if this ever moves to any compiled code - the .exe files. Pastebin is a great alternative to using the posts here since we've already seen these split into 2 separate posts until we hit a compiled point.

 

To build on my prior post; If Ocmer_ approves I'd be happy to host downloadable versions of these files - so long as he lets me know when they're updated ;) It's the least I can do to help out the community.

Link to comment
Share on other sites

I don't usually post on the forums, but I feel compelled to do so after running across this fix. I never really had any FPS issues, but it would get to the point where the game was unplayable as the hard disk was constantly being accessed after playing for some time. I scoured these forums and was glad to see that it wasn't only me having these problems. After reading about this fix, I upgraded to Windows 7 Ultimate x64 and added 2gb to my existing 4 to try this out. After applying the All-In-One Cache + FX, the game has been a totally different experience. So much more smooth and the loading screens have definitely been shortened. Again, I didn't notice any gains in FPS as the problem was with the I/O, but at least now I can see that I can gain even more performance out of a GPU upgrade. Big thanks to lemon_king and Ocmer for your hard work. The performance of the game prior to applying this fix almost had me quit. Bioware and EA could definitely learn something from you guys.

 

For reference, these are my specs:

C2Q Q6600 @ 3.0GHz

Abit Fatality FP-IN9 Motherboard

6GB DDR2800

2 x 8800gt SLI

500gb Maxtor 7200RPM SATA 3g/s

650W Antec Earth Watts

 

With this setup and after using the ramdisk, I'm getting 50-60 FPS on planets and 30-40 FPS in Fleet and Warzones. I'm running everything on high except for AA and shadows which are set to low.

Link to comment
Share on other sites

Iam not sure if that helps, perhabs a way that helps?

Sorry about my english

 

http://stackoverflow.com/questions/6995813/how-can-i-use-batch-to-determine-if-a-computer-is-using-fat32-or-ntfs

 

Thanks for the tip, I've searched around and didn't came across this easy implementation.

Added to my new script.

 

 

ALL-IN-ONE VERSION 3 IS UP.

I'll add instructions how to change the settings during the day, but it is actually also written in the comment sections of the script under the head user settings.

 

  • 2012-02-27; New ALL-IN-ONE (version 3)
    • Added option for dynamic asset files.
    • Added option to override installpath of SWTOR.
    • Added check for correct found/given installpath of SWTOR.
    • Added check for Windows 64-bit.
    • Added check for NTFS filesystem.
    • Added a single errormessage for missing asset files.
    • Allot of comments ( :: comment )

 

edit; A mountscript will follow soon aswell.

edit; done with writing the instructions, hope they are clear :o

Edited by Ocmer_
Link to comment
Share on other sites

Thanks for the tip, I've searched around and didn't came across this easy implementation.

Added to my new script.

 

 

ALL-IN-ONE VERSION 3 IS UP.

I'll add instructions how to change the settings during the day, but it is actually also written in the comment sections of the script under the head user settings.

 

  • 2012-02-27; New ALL-IN-ONE (version 3)
    • Added option for dynamic asset files.
    • Added option to override installpath of SWTOR.
    • Added check for correct found/given installpath of SWTOR.
    • Added check for Windows 64-bit.
    • Added check for NTFS filesystem.
    • Added a single errormessage for missing asset files.
    • Allot of comments ( :: comment )

 

edit; A mountscript will follow soon aswell.

edit; done with writing the instructions, hope they are clear :o

Welp, thats a large number of system checks.

Link to comment
Share on other sites

Welp, thats a large number of system checks.

Well yea, you never know if people actually read stuff on the net, and just use things. I figuered I could check some basic things if it wasn't to hard to implement.

 

Oh while I'm at it I might let it check if imdisk.exe is available in system32, then I got pretty much all requirments checked to execute the script.

Link to comment
Share on other sites

And I added the final check, namely if Imdisk is installed on the machine or not. If it is not installed, it will return an error message instead of the menu. I hope I got pretty much all needed checks done now so it has little chance to mess things up, that is if people leave the files alone...

 

Also I changed the recommended minimum ramsize for the cache+fx from 1500M (1.5GB) to 1600M (1.6GB), as I get weird crashes at some points (especially entering Kaon), seems it is resolved for me by this.

 

  • v3.1.1 // 2012-02-28;
    • Changed minimum size cache+fx to 1600M.

    [*]v3.1.0 // 2012-02-28;

    • Added check if Imdisk is installed.

Link to comment
Share on other sites

Hmm feels like forums are dying a bit :eek:

 

Anyway had nothing to do and did some cosmetic not needed changes on my script.

 

  • v3.1.2 // 2012-02-29;
    • Changed tempfile name (at ntfs test) to 'swtorramdiskntfstest.temp'. (cosmetic)
    • Combined lines at nfts test. (cosmetic)

Link to comment
Share on other sites


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.