PDA

View Full Version : Howto: Increase multiboxing loading times on single computer. Up to 300-800% faster loading times.



piratss@gmail.com
08-09-2009, 04:16 AM
I've been thinking about symbolic links for a while and how much windows lacks by not using them. I then thought how awesome it would be if all of my 5 wow accounts would read from a single directory to use hard drive read caching.

This is only useful if you have hard drive caching enabled, I've had 300-800% in loading times, ESPECIALLY Dalran.

How does it work?

The program creates a sort of "virtual file" that simply points to another file, wow will try to read this file and the operating system will automatically point to a single location.

What is it called?

Link Shell Extension

Did you make it?

No, I am not the author.

Where do I get it?

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

Scroll all the way down for downloading instructions.



Installation
Install VS2005 SP1 as instruected in the downloads FIRST.
Then install the shell extension.

Usage
Once installed, browse to your game. In our case we will use WOW's data folder.

1. In the WOW data folder, create a new folder called BACKUP, make a copy of the 5 files you see in the directory and copy it to BACKUP, this is just in case something happens.
2. In the WOW data folder, create a new folder called COPY, this is where you will create links so we can move them to different locations later on
3. Select all 5 files, right click and select "Pick Link Source"
4. Goto the COPY folder that you created and right click again. This time pick Drop As... -> Hard Link
5. You will now have 5 files that look exactly like your previous files but with a red shortcut icon, Select these files, right click and CUT them

6. Navigate to your other WOW's data folder, create a folder called BACKUP, MOVE all the files here to that folder.
7. You should have no files before pasting, otherwise you will override the files with links! We want to keep as many backups as possible!

Repeat steps 3-7 for all your other WOW installations.

Here are stome tests I ran,

Dalran loading x 5 BEFORE: 37 seconds, AFTER: 8 seconds
Ironforge loading x 5 BEFORE 17 seconds, AFTER: 2 seconds

I have 2 RAID 0 Velociraptors, please post your results here, I am very interested in what your results will be like!

sqeaky4100
08-09-2009, 06:57 AM
It's a popular method around here! :)

It didn't really reduce my load times, it just made it so everything was synchronized... Which is good too.

A big downside to using Symbolic Links however, is updating... What a pain.


Also: An easier way to do it is this:

- In every folder BUT your "main" folder delete your Data and Interface folders.
- In your "main" folder, Right-Click the data folder and "pick link source"... then navigate to one of your other WoW folders with the now deleted folders, Right-Click -> Drop As -> Symbolic Link
- Do the same thing as data, except for interface now too.

This basically tells your computer to look at one data/interface folder for information (instead of every WoW folder... in my case, 5 )... speeding things up!

In total, you're copy/pasting the 2 link sources 2 times for each "slave" folder you have.

Flekkie
08-09-2009, 07:04 AM
See also here, some useful stuff:
http://www.dual-boxing.com/showthread.php?p=56229#post56229

moosejaw
08-09-2009, 07:10 AM
I used Link Shell Extension before I upgraded to Windows 7. That utility is great because you can select multiple items and link them all at once. A huge time saver if you use multiple folders. I only use one folder now and use a virtual file where needed i.e. config.wtf .

Zal
08-09-2009, 07:17 AM
ya.... i can't see past the -Program being posted by a first time poster, link to some site and product i've never heard of, that wants me to install thingy into my wow folders-

yup...

moosejaw
08-09-2009, 08:19 AM
I think his registration got fouled up from the website switch. I have used that utility from that site. it is legit.

jak3676
08-09-2009, 10:29 AM
Should be a good way to save space too. Not very important for most users, but by doing this (and deleting/moving backups off disk) you can probaby squeeze multiple installs into a 32GB SSD; maybe get all 5 into a 64GB SSD?

piratss@gmail.com
08-09-2009, 03:05 PM
ya.... i can't see past the -Program being posted by a first time poster, link to some site and product i've never heard of, that wants me to install thingy into my wow folders-

yup...

I used to be registered in the old forums so I just re-made the account.

I run a 5 mage box team: http://www.wowarmory.com/team-info.xml?r=Malygos&ts=5&t=Gnome+Power&select=Gnome+Power

I also run a 4 shammy and 5 lock teams on the side.

sixzandsevenz
08-10-2009, 04:32 PM
It's a popular method around here! :)

It didn't really reduce my load times, it just made it so everything was synchronized... Which is good too.

A big downside to using Symbolic Links however, is updating... What a pain.


Also: An easier way to do it is this:

- In every folder BUT your "main" folder delete your Data and Interface folders.
- In your "main" folder, Right-Click the data folder and "pick link source"... then navigate to one of your other WoW folders with the now deleted folders, Right-Click -> Drop As -> Symbolic Link
- Do the same thing as data, except for interface now too.

This basically tells your computer to look at one data/interface folder for information (instead of every WoW folder... in my case, 5 )... speeding things up!

In total, you're copy/pasting the 2 link sources 2 times for each "slave" folder you have.

Trying to do this, I already deleted the clones folders, when I right click the data folder, I don't see a "pick link source".

Please help.

rahven32
08-10-2009, 05:10 PM
I used Link Shell Extension before I upgraded to Windows 7. That utility is great because you can select multiple items and link them all at once. A huge time saver if you use multiple folders. I only use one folder now and use a virtual file where needed i.e. config.wtf .

This might be a newb question but care to explain the process of how you made the virtual folder? I have mine symlinked but after this last patch it bit me in the ass and had to reinstall wow after breaking the link. Didn't work to well hehe. Only reason I'm using the symlink is having the seperate wtf folders.

Ualaa
08-11-2009, 03:40 AM
When I originally looked at Symbolic Links, I could not get the Script to work.
In the same thread, another user recommended that program on that site.

As far as creating the links and such, it worked fine for me.
I did have to download a couple of files from the microsoft site, as recommended on that site.

Twice I had patching issues with the SymLink, and have actually gone back to one install.
The symlink was a slight boost for me, which was nice, but two reinstalls sucked.

The first time I patched, but did not break the SymLinks and 4 copies would not patch.
Copying the entire patched folder over the four that would not patch broke the game somehow.

The second time, I broke the symlinks and patched the first install.
Then created new symlinks from the patched folder.
I got a red error message on all accounts at that point, which would not let me enter my username or password.

Aside from patching issues, the symlink was good.
The site above is good anyway, or was about a year ago.

Khatovar
08-11-2009, 03:54 AM
Trying to do this, I already deleted the clones folders, when I right click the data folder, I don't see a "pick link source".

Please help.

You got both required files from the site? You need to install both the listed files :

Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 - Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) (http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en) and the Link Shell Extension 32bit Version (http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact)

Windows XP64, Windows Vista64, Windows 7 64bit - Microsoft Visual C++ 2005 SP1 Redistributable Package (x64) (http://www.microsoft.com/downloads/details.aspx?FamilyID=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA&displaylang=en) and the Link Shell Extension 64bit Version (http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact)

Windows Itanium, Windows 7 Itanium - Microsoft Visual C++ 2005 SP1 Redistributable and Package (IA64) (http://www.microsoft.com/downloads/details.aspx?FamilyID=747AAD7C-5D6B-4432-8186-85DF93DD51A9&displaylang=en) and the Link Shell Extension Itanium Version (http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact)

Windows NT4 just needs the the Link Shell Extension NT4 Version (http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact)

heyaz
08-11-2009, 05:32 AM
How in the hell, with that rig, with a raid 0 setup with those hard drives, does it take 37 seconds to load Dalaran?

My PC has about half that juice, with a single SATA drive, and it takes about 10 seconds...

Still, I guess I could reduce it to 3 seconds with your fix :)

Pummelled
08-11-2009, 07:21 AM
I have five wow folders all symlinked off the one main folder.

Works well until you need to patch. Then it can be a pain in the arse.

Easiest way to do it, is to Patch the main folder, copy it, delete the data, WTF, etc folders and paste yourself four clean wow folders.

Copy the WTF & WDB folders from your drone accounts and paste them into each folder. Then symlink the data folder from the main into each drone folder. Personally, I symlink the interface folder also, I just think its cleaner.

This does work well. My loading times are very, very quick.

I like it just because its clean as....

Owltoid
08-11-2009, 10:38 AM
Using my RiData SSD I load 5 clients of Dalaran in about 3 seconds.

You don't need raid 0 fast hard drives, you don't need striped SSDs, you just need a relatively cheap version (Intel is probably overkill) that has fast read times. Only put WoW (or other games that only read with minimal writing) and you'll be dandy.

Catamer
08-11-2009, 11:04 AM
hmm, I run all 5x copies of wow from one directory.
I don't have any special key bindings on any of my alts so there was no need for the multiple copies of wow. I use an SSD for my games so my loads times very quick there too.

jak3676
08-11-2009, 11:16 AM
There seems to be a bit on confusion here.

When you symlink your wow folders (except you exclude your /interface and /wtf directories), you should get the exact same performance as though you were running mulitple copies from the same executable. Because that's exactly what you are doing, it's just that you don't see it that way on the front end. But it works this way because that's exactly what the back end (behind the OS) sees. A symlink isn't much more than a shortcut that your OS knows how to work with.

As for the performace you can gain by doing this - it's really going to depend on your hard drive. (How full is it? How much Cache? What's the spindle rate?) It's still not going to be as quick as just loading 1 copy of WoW - even though they are linked and at least partially cached, you still need to load parts of the file into memory 5x times.


So why symlink at all?

Short version is that you get both the benifits of seperate installs and running from the same folder at the same time. The downside is the maintenence you need to do to maintain the symlink on patch day.

It's faster and takes up less space than having multiple installs in seperate folders - even if you have them all on seperate drives. (You can read the same file 5x times quicker that you can read 5x seperate files - even if they are all on seperate hard drives.)

But unlike simply running the same executable 5x times you can keep seperate hard copies of any files that you may want. I'm still not totally sold on why you would want to have 5x seperate /interface directories, but you can do it if you want to (Do some addons cause problems attempting to write back to the same file at the same time?) I'm also not sold on the need for seperate /WTF directories. Nothing should cause overwrite errors when you run from 1 source because every seperate account gets its own directory within the /WTF folder.

So if we don't really need seperate /WTF folders and we don't need seperate /interface folders - then there really is no point to symlinking at all - just run the same executable five times. Maybe I'm spoiled by keyclone a bit here because keyclone will remember the display settings and usernames of the different accounts for me. I guess not everyone does that though.

If you aren't sold on the idea of doing this with a 3rd party program, you can do this all from the command line yourself. Check out this thread http://www.dual-boxing.com/showthread.php?t=23398 or this one http://www.dual-boxing.com/showthread.php?p=56229#post56229

Thoughts? Discuss please - I'll still fully admit that I'm still new to this.

Lax
08-11-2009, 12:34 PM
I have to agree with jak3676 about the confusion thing. It's amazing to me how many people use multiple folders, and symlink them, because they think they are going to get better performance than using a single folder. When I ask someone why they want to use multiple folders and they tell me it's for performance reasons, I know there's serious misinformation going around (not that I had any question whether there was or not).

The sole reason to use multiple folders is to use different configurations, NOT for performance. You're symlinking to achieve the performance (and ease of patching?) of a single folder. And depending on the multiboxing solution you are using, you don't need multiple folders to use different configurations.

That said, if you want the benefit of different configurations, and are not using a solution that provides different configurations without using multiple folders, THEN this method is a good way to mitigate the performance loss of using multiple folders.

Marious
08-11-2009, 04:55 PM
In Windows 7 all you have to do, using the mentioned program is patch your main folder, delete the 2 symlink folders from your copies and redo the link to the new one, and copy over your WoW execute that's it. There is nothing else to do and it works perfectly fine. Again this is in Win 7, XP you probably have to break the links and then recreate and copy your Wow.exe file to your other folders. In XP if you don't break the links prior to deletion they might delete your linked from folders, have not done it in XP so could be wrong. I keep seeing this I had to reinstall because of my symlink, and well I did the same thing until I read in one of the threads what you have to do.

Barelan
08-11-2009, 06:02 PM
Can anyone explain why it would be a benefit to have the OS think its loading multiple files? - Surely caching would be better if it knew it was loading the same one.

I've always thought a bigger cache - i.e. lots more memory - was better than anything you can do with disk access speed. I'm not sure how the new SSD's work out, but I've seen some tests say the difference is marginal.

jak3676
08-11-2009, 08:09 PM
When you simlink your folders, the OS does know that i's loading the same one (and cache's it appropriatly). Your OS sees a simlink exactly as though it is the same file as the non-linked one.

The purpose for symlinking is to allow other programs and users not to see them as the same file.

Ualaa
08-11-2009, 08:19 PM
When I was using SymLinks, I had it set up like this:

Parent Folder --- > WoW A
--- > WoW B
--- > WoW C
--- > WoW D
--- > WoW E
--- > WoW F

The idea was to only ever patch the parent folder, and to not use that to play any toon with.

WoW A-E were my five box folders, with graphical options down to almost nothing.
The addons were slightly different, with WoW C (tank's account) having a few more then the others.

WoW F was my single box account, which at the time was a Warlock.
This folder had every single option cranked to the maximum.
Unlike the WoW A-E folders, I did not add -nosound to the end of this executable.

Different settings is the main benefit.
In the original SymLink thread, the consensus was a SymLink set up was faster then five folders or everything from one folder. In my case either this was not true, or the difference was too marginal to notice.

I had a bunch of issues patching twice.
One install works fine for me.
I miss some of the eye candy now, but run my raider (rogue) and boxing teams all at minimal settings.

jak3676
08-11-2009, 08:50 PM
SymLink set up was faster then ... everything from one folder


This is what I don't get. I've agree that this was said a few times in some of the old threads. But this can't be true.

It would be like if I put some file on my desktop. I then right clicked the icon and selected "Send to" -> "Desktop (create shortcut)". I then clicked the original file 5 times and timed it. Then clicked the shortcut 5 times and timed it. You are doing the exact same thing when you simlink something. The OS knows that it's just a link (a "simulated link", one might say) to the original file. Opening a symlink can't be quicker than opening the original, because you are actually opening the original file.

Symlinks do offer the benifit on not being a 100% pure copy - you can customise graphics or addons seperately, while still getting the performance benifit from using a single folder. I'm not saying they aren't useful. But they aren't quicker than just running the same executable 5 times. I believe both Keyclone and ISBoxer (probably some others) have a built in utility to do things like remember your username and video settings. So if you are using one of those there's no reason I can think of to run symlinks at all.

Am I missing something here?

rahven32
08-11-2009, 09:12 PM
Running 5 seperate folders is slower because your hitting 5 seperate folders for info. Where as with one folder or symlinked it's just hitting one. It has something to do with the cache i believe. Now as far as one folder and being symlinked I don't know if there is a difference. I do know though going from 5 seperate folders to being symlinked made my load times way faster. The main reason i run with them linked is just for seperate config's. Patches do suck though =/

piratss@gmail.com
08-12-2009, 01:36 AM
Trying to do this, I already deleted the clones folders, when I right click the data folder, I don't see a "pick link source".

Please help.
You might have to restart your computer after installing the software.

If you do not see the pick source after that, you have to probably redo the first couple of steps.