Wow Ace Review

Libraries

If you’ve ever used addons in WoW you probably know all about dependencies. Addon dependencies are when one addon depends on or requires you to have another addon. This sort of dependancy is really a good thing in that common functions can be used by multiple addons with out each addon having to rewrite the same stuff over and over again. It also reduces the memory requirement for all the addons that use that common code via a commong 3rd addon. The down side is for the user that must not only download and install the addon they want but also the other addons that it requires. Ace started off in this fasction and all ace addons had a requirement that you also installed the addon Ace.

Then along came Ace2. With Ace2 you are no longer required to install Ace2 as a separate addon. Instead all Ace2 addons have the Ace2 code bundled right into them as a library. But does that mean you are now loading up Ace2 multiple times taking up a bunch of extra memory to load the same stuff up over and over again? The answer is quite that simple. What happens with Ace2 libraries and Ace2 itself is each addon loads the same code into memory at first but it goes something this like this. Addon1 gets loaded and it loads Ace2 and possible some other libraries. All is good at this point since Addon1 now has all the common code it needs loaded up to run. Next Addon2 loads up and it also needs Ace2 and some additional libraries. When the Ace2 library that come with Addon2 goes to run it first checks to see if Ace2 is already loaded into memory. It also checks which version of Ace2 is loaded. If its the same version then the new load-up of Ace2 basically stops and the memory is freed up. This continues for each Ace2 addon and library that each addon needs. In the end at first load-up since each copy of the library is first loaded into memory by WoW but then each library checks the versions loaded and frees up the duplicate copes of it self only one copy of the library is left in memory. The only real downside to the user is WoW loads up each copy of the library to start off with taking up additional memory. On the plus side that additional memory is freed right back up by the library. Thus loadup takes a bit more memory at first but the end result is less memory being use by addons that use libraries without the need for you the user to download and install additional addons just to make the addon you wanted in the first place work.

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: