- Home
- Downloads
-
Addons & Mods
Featured
World of Warcraft
5,104 Addons
-
Popular Downloads
- Top World of Warcraft Addons
- Top Minecraft Server Mods
- Top Rift Addons
- Top Skyrim Mods
- Top World of Tanks WoT Mods
- Top Starcraft II Maps
- Top Terraria Maps
- Top Runes of Magic Addons
- Top Warhammer Online Addons
- Top Age of Conan Addons
-
- Curse Client
- Premium
- News
- Giveaways
- Videos
- Forums
Speedy Load
- 6 Likes
- World of Warcraft
- 302 Monthly Downloads
- Supports: 4.3
- 9,913 Total Downloads
- Updated 11/29/2011 9:18:00 PM
- Created 8/24/2011 8:35:58 PM
- 67 Favorites
- Project Site
- Comments
- Release Type: Release
- License: GNU General Public License version 3 (GPLv3)
- Newest File: 1.3
About Speedy Load
Info
Speedy Load disables certain events during loading screens to drastically improve loading times.
On my own computer, running a state-of-the-art Intel Core i7 2600k processor with 50 addons loaded, Speedy Load has decreased the time taken for my hunter to zone into the Molten Front daily quest area from 5 seconds to 3.6 seconds. That is a 28% increase in speed and a savings of 1.4 seconds! Your results will vary based on class and number of addons, but if you have an older computer, you will almost certainly experience a significant difference.
Speedy Load will decrease the time spent in loading screens for:
- Instances and Raids
- Boats and Zeppelins
- Mage portals
- Cataclysm zone portals
- Summons
- ...And nearly every other loading screen you will ever encounter in-game!
How it Works
To understand how Speedy Load works and how it is affecting your loading screens, you must first understand the basic workings of the AddOn API. Most AddOns, including the default Blizzard UI, are coded so that certain pieces of code are only executed when certain events occur. In order to see these events, a AddOn must have a frame register an event. Once an event has been registered, an AddOn will execute certain code when an event is fired. There are currently 679 different events that can be registered for, and they can generally be divided into two types: those that include data, and those that do not.
Events that include data with them when they are fired cannot be safely be unregistered because this would cause data to be missed. An example of this is CHAT_MSG_GUILD - the event that fires when somebody says something in your guild's chat. If this event were to be unregistered from every frame during loading screens, you would not see what was said in your guild while you were in the loading screen. It is for this reason that Speedy Load will not unregister any events that may be carrying important data
Events that do not include data can be further broken down into two sub-types: events that trigger something, and events that notify a change. An example of the first sub-type is PVPQUEUE_ANYWHERE_SHOW. This event tells that battleground/arena/war games interface to show, and should not (and will not, by Speedy Load) be unregistered. SPELLS_CHANGED is an example of the second sub-type - it simply notifies the UI that your spells changed, and that it should re-check to see what abilities you have learned and what is available to you.
These types of events (i.e. events without data that only notify the UI of an update) can generally be unregistered during a loading screen, because they often times will fire excessively (more than once) during the loading process without any real purpose beyond the last firing. What Speedy Load does is unregister a number of these non-critical events when you enter a loading screen. When the loading screen completes, these events are re-registered to every frame of every AddOn that had registered them before the loading screen, and then Speedy Load will "fake" the firing of these events only once (and only if they actually occurred during the loading screen) in order to ensure that everything that depends on these events will continue functioning properly.
------------------------------------------------------------------------
r10 | cybeloras | 2011-11-30 02:55:30 +0000 (Wed, 30 Nov 2011) | 1 line
Changed paths:
A /tags/1.3 (from /trunk:9)
Tagging as 1.3
------------------------------------------------------------------------
r9 | cybeloras | 2011-11-30 02:52:30 +0000 (Wed, 30 Nov 2011) | 1 line
Changed paths:
M /trunk/SpeedyLoad.lua
M /trunk/SpeedyLoad.toc
TOC bump
------------------------------------------------------------------------
Addon Packs Containing This...
Top Downloads
-
- Bagnon
- Bags & Inventory
- 380,324 Monthly Downloads
-
- Deadly Boss Mods
- Combat and Boss Encounters
- 302,560 Monthly Downloads
-
- Recount
- Combat
- 301,016 Monthly Downloads
-
- SpellFlash
- PvP, Buffs & Debuffs, Quests & Leveling, Action Bars, and Combat
- 282,737 Monthly Downloads
-
- GatherMate2_Data
- Achievements
- 210,508 Monthly Downloads

Comments
Hello,
Gotta say I love your addons. I use a total of 51 addons, out of all those addons 4 of them are yours :)
Thanks so much.
Nice! Though I personally wouldn't give a 'lactating banshee-teat' if CHAT_MSG_GUILD was to unregister if it meant improved loading time. I know nothing about addon api stuff but I figure a single unregistered event probably wouldn't make a huge noticeable difference. But.. I bet I would be able to find a few other event that I (situationally) would prefer unregistered as the circumstances dictate.. like what my current activity is (pvp,raid,solo etc) or time-of-day and if many or none of my friends/guildies are currently online.. Whatever random variables define the present..
I don't know if I'm being even remotely sensible so correct me where you can, I need to learn. I'm about to dissect this thing, tinker with the guts and see if I can figure out how to implement some of that stuff on my own and learn more about creating my own addons.
I just really don't want to end up taking an arrow to the kn... ha!
CHAT_MSG events are generally going to have an extremely minimal effect on loading time, and CPU usage in general unless you notice a small lockup every time somebody says something in trade chat.
The best tools to figure out what events are happening are Blizzard's event trace tool ('/etrace') and the !!Warmup addon, although I use a heavily modified version because the current version doesn't work because of some Blizzard changes (you can find my version in the comments at http://wowinterface.com/downloads/info4939-Warmup.html#comments including some modifications made specially for the making of SpeedyLoad)