Thread Tools Display Modes
02-27-07, 05:10 PM   #1
Silverchild
A Deviate Faerie Dragon
Join Date: Feb 2007
Posts: 15
Addon efficiency?

Hi there. First, thanks for taking the time to read this.

I'm kinda new to interface and addons. All I used before were compilations. I would install a whole package without asking myself too much questions, or just turn off some mods that I didnt use. However, now, I would like to build 'my' ui, by downloading addons one by one. By doing this, I think I can be pretty sure that the ui will exactly fit MY needs, and also that there wont be any useless addons.

While downloading these addons, I've read that some claims to be more 'efficient' than others. This make sense, I guess some are 'coded' better to use less ressources. But, is there a way to 'measure' efficiency? I'm playing on a laptop and would like to have an UI that doesnt slow me down. Does it have to do with the size of the addon? For example, for my unit frames, I have to decide between X-perl and Ag_unitframes. Now, I looked at the size of the folders, and x-perl is smaller. However, it would be logic to think that aguf would run 'faster' since it doesnt have all the 'fluff' that x-perl have...

Well, I'm confused!

thanks
  Reply With Quote
02-27-07, 05:17 PM   #2
Andeh
A Wyrmkin Dreamwalker
Join Date: Oct 2005
Posts: 54
AG_Unitframes is more efficient that x-perl as it uses the Ace2 framework, Ace2 is probably the most memory efficient framework for addons, so I would recommend addons made with that.
  Reply With Quote
02-27-07, 05:37 PM   #3
amz370
A Flamescale Wyrmkin
AddOn Compiler - Click to view compilations
Join Date: Dec 2006
Posts: 117
xperl has it's own framework, and though isn't as efficent as the ace mods imo is much more configurable, and also accounts for several mods all in 1, rather than just a unit frame
such as raid modding and debuffing as well as healing mods etc
  Reply With Quote
02-27-07, 05:56 PM   #4
Silverchild
A Deviate Faerie Dragon
Join Date: Feb 2007
Posts: 15
thanks for the answers, but is there a way to 'know' if a mod is efficient? For example, i'm wondering if I should use antagonist or eCastingbar for an ennemy casting bar... I think antagonist is Ace2, so it means its the one I should choose, right?
  Reply With Quote
02-27-07, 06:39 PM   #5
BlackPanther
A Fallenroot Satyr
Join Date: Apr 2006
Posts: 24
Right now it's difficult to measure an addon's efficiency with any accuracy.
However with the next major patch (2.1.0) we'll be getting the necessary tools:

Memory Profiling
* Script memory is now tracked on a per-addon basis, with functions provided to analyze and query usage.
* The script memory manager has been optimized and the garbage collection tuned so there is no longer any need for a hard cap on the amount of UI memory available.
* NEW - UpdateAddOnMemoryUsage() - Scan through memory profiling data and update the per-addon statistics
* NEW - usedKB = GetAddOnMemoryUse(index or "name") - query an addon's memory use (in K, precision to 1 byte) - This returns a cached value calculated by UpdateAddOnMemoryUsage().

CPU Profiling
* CPU profiling is disabled by default since it has some overhead. CPU profiling is controlled by the scriptProfile cvar, which persists across sessions, and takes effect after a UI reload.
* When profiling is enabled, you can use the following functions to retrieve CPU usage statistics. Times are in seconds with about-a-microsecond precision:
* NEW - time = GetScriptCPUUsage() - Returns the total timeused by the scripting system
* NEW - UpdateAddOnCPUUsage() - Scan through the profiling data and update the per-addon statistics
* NEW - time = GetAddOnCPUUsage(index or \"name\") - Returns the total time used by the specified AddOn. This returns a cached value calculated by UpdateAddOnCPUUsage().
* NEW - time, count = GetFunctionCPUUsage(function[, includeSubroutines]) - Returns the time used and number of times the specified function was called. If 'includeSubroutines' is true or omitted, the time includes both the time spent in the function and subroutines called by the function. If it is false, then time is only the time actually spent by the code in the function itself.
* NEW - time, count = GetFrameCPUUsage(frame[, includeChildren]) - Returns the time used and number of function calls of any of the frame's script handlers. If 'includeChildren' is true or omitted, the time and call count will include the handlers for all of the frame's children as well.
* NEW - time, count = GetEventCPUUsage(["event"]) - Returns the time used and number of times the specified event has been triggered. If 'event' is omitted, the time and count will be totals across all events.
* NEW - ResetCPUUsage() - Reset all CPU profiling statistics to zero.
Edit: Atm you can only measure the total memory use of all addons combined with e.g. PerformanceFu.
  Reply With Quote
02-27-07, 07:30 PM   #6
Silverchild
A Deviate Faerie Dragon
Join Date: Feb 2007
Posts: 15
wow, awesome. Cant wait till next patch :P

Right now my UI is taking form. I think its nearly done. I still cant decide what 'bottom panels' i'll use.. lol

'clean' one
or a more 'warlock'ish one.
  Reply With Quote
02-28-07, 01:28 AM   #7
Tekkub
A Molten Giant
 
Tekkub's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2005
Posts: 960
Originally Posted by Andeh
AG_Unitframes is more efficient that x-perl as it uses the Ace2 framework, Ace2 is probably the most memory efficient framework for addons, so I would recommend addons made with that.
Using an efficient library does not make an addon well written. Writing good code in the first place does.

Many Ace addons are well written, but many Ace addons are half-assed converts that don't use the framework correctly and gain zero benefit... in fact in some cases they make the matter worse.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » Addon efficiency?


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off