Thread Tools Display Modes
12-21-14, 06:44 PM   #1
laukond
A Black Drake
Join Date: Dec 2011
Posts: 87
Loading Screen AddOn

I've recently stumbled into quite long loading screens, so I'm looking for an AddOn to analyze which other AddOns are delaying it so long.

Any updated AddOns like WarmUp around?

General tips about troubleshooting this stuff would be greatly appreciated. Takes about 1 second to RL without AddOns, 10 seconds with AddOns and this is on a SSD.

Last edited by laukond : 12-21-14 at 06:50 PM.
  Reply With Quote
12-21-14, 07:23 PM   #2
Tim
A Rage Talon Dragon Guard
 
Tim's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2008
Posts: 308
Try starting with only 1 addon loaded and keep re-logging while adding an extra addon everytime.
__________________
AddOns: Tim @ WoWInterface
Characters: Mage, Priest, Devoker, Pally
Battle Tag: Mysterio#11164
Current PC Setup: PCPartPicker List
  Reply With Quote
12-21-14, 07:24 PM   #3
laukond
A Black Drake
Join Date: Dec 2011
Posts: 87
Originally Posted by Tim View Post
Try starting with only 1 addon loaded and keep re-logging while adding an extra addon everytime.
I did that and figured out TomTom takes quite a bit of time, would be nice to see how much each AddOn consumes though :-)
  Reply With Quote
12-21-14, 08:55 PM   #4
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
My initial response was "that should still work" but then I tried it, and looked in its code, and there's simply no way that file could ever work since it's attempting to call methods on a global frame reference that doesn't exist.

Here's a version that actually works. Just overwrite the Lua file from the download you linked with the attached file. TomTom is indeed fat and sluggish.

Edit: Oh, I also commented out the nonsense that makes it disable itself after each run. I'm perfectly capable of deciding when I'm done debugging and turning it off myself, thanks.

Edit #2: Attachment removed. See here for updated files.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.

Last edited by Phanx : 12-24-14 at 12:39 AM.
  Reply With Quote
12-21-14, 09:14 PM   #5
laukond
A Black Drake
Join Date: Dec 2011
Posts: 87
This is awesome! It works on most of my AddOns, but something makes it get these errors:

Code:
Line 25: You should never use debugprofilestart()! (x10)
Line 152: attempt to perform arithmetic on local 'lastmem' (a nil value) (x7)
  Reply With Quote
12-22-14, 12:52 AM   #6
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Fixed the first one. Not really sure what's up with the second one, as I've never used or looked into the memory debugging API at all, so for now I just monkey-patched it by setting it to 0 if it doesn't exist, so it can be math'ed. However, I'm not sure the memory reporting is accurate at all, especially the garbage collected (the last number) which seems unbelievably high for many addons, so this and the other memory-related value I added a fallback to 0 for probably need further investigation. The load time is the most important thing, though, and that seems correct, so I probably won't spend much (if any) time on the memory stuff.

Edit: Attachment removed. See here for updated files.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.

Last edited by Phanx : 12-24-14 at 12:38 AM.
  Reply With Quote
12-22-14, 05:55 AM   #7
laukond
A Black Drake
Join Date: Dec 2011
Posts: 87
Thanks a lot, it works on all the AddOns now I agree only the loading time stuff is relevant.
  Reply With Quote
12-23-14, 05:18 AM   #8
natassja72
A Wyrmkin Dreamwalker
Join Date: Aug 2008
Posts: 59
How do I use this mod? I suffer from long loading screens so I decided to try it. All I'm getting on login is stuff unrelated to addons printed to chat:

(...)
[12:13:13] 40 (0) | UPDATE_WORLD_STATES
[12:13:13] 13 (0) | USE_GLYPH
[12:13:13] 1 (0) | VARIABLES_LOADED
[12:13:13] 2 (0) | VEHICLE_ANGLE_SHOW
[12:13:13] 2 (0) | VEHICLE_POWER_SHOW

And then only two lines that actually say something about times, that repeat on 3 different toons:

[12:13:33] 0.089 sec | Blizzard_GarrisonUI (1125 KiB - 874 KiB)
[12:13:33] 0.035 sec | MasterPlan (353 KiB - 728 KiB)

but first one is not even an addon and secondly, the times being 0,035 sec don't seem to have much impact on login times. I'm sure there must be more addons slowing it down.

I did download the latest .lua linked here.
  Reply With Quote
12-23-14, 05:34 AM   #9
ObbleYeah
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Sep 2008
Posts: 210
looks like the first part is doing an event trace - registering which events fire (and how many times they do) during the load screen.

And blizzard has it so that Blizzard_GarrisonUI is loaded as an AddOn within the game. I guess you could set up some kind of check that discounts any addons loaded that start with 'blizzard' if you don't want those tracked.
  Reply With Quote
12-23-14, 10:38 PM   #10
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2006
Posts: 2,313
Originally Posted by natassja72 View Post
I suffer from long loading screens so I decided to try it.
There are many things that happen at loading screens, not just loading addons. Firstly, addons are only loaded at the first loading screen you see when you log in. Addon code cannot run at any other loading screen. That statement aside, the game has to manage connecting to different world/instance servers and loading the zone geometry and textures into video memory before even placing you in it. All that takes time, and depending on your computer specs and internet connection, can take more than a few seconds.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
  Reply With Quote
12-24-14, 12:37 AM   #11
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Originally Posted by natassja72 View Post
How do I use this mod? I suffer from long loading screens so I decided to try it. All I'm getting on login is stuff unrelated to addons printed to chat:
I was going to say "scroll up" but then I realized you're probably using an unmodified default chat frame that only remembers some uselessly small number of lines. I've also figured out why the original file was referring to some random global (a custom message frame with that name was created in the XML file but the Lua was loaded first, so the frame didn't exist yet when the Lua code loaded) and fixed that up so it shouldn't matter now.

Originally Posted by natassja72 View Post
0,035 sec don't seem to have much impact on login times. I'm sure there must be more addons slowing it down.
There are. There are also lines telling you how much total time it took to load all addons, and how much time was added by Warmup itself -- running Warmup will double or even triple the time it takes to load addons, mainly due to the memory measurement parts, but won't affect the rest of the loading time (listed as "world entry time") which is how long the loading screen should take without any addons at all due to the stuff SDPhantom mentioned, like connecting to the servers, loading models and textures and other data from disk into memory, etc.

You can also try running Warmup without any other addons to get an exact number on how long it takes to load "bare", though again, Warmup will add a bit of time since it's still measuring load times and memory usage for the hidden Blizzard addons.

--------------------------------

I also went ahead and just created a project for this on GitHub so I don't have to keep swapping out forum attachments. I don't plan to make an "official" release on WoWI etc. though. If anyone familiar with the memory debugging API wants to look at the memory reporting bits and make a pull request I'm happy to accept one.

https://github.com/Phanx/Warmup
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote
01-14-15, 12:05 PM   #12
Tonyleila
A Molten Giant
 
Tonyleila's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 758
Damn it HandyNotes has the longest loading time for me: 0.284
EDIT: Also sometimes HandyNotes loads with 2.985sec! WTF?
__________________
Author of: LeilaUI and Aurora: Missing Textures
__________________

Last edited by Tonyleila : 01-14-15 at 12:44 PM.
  Reply With Quote
01-14-15, 02:06 PM   #13
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Yes, I've found that HandyNotes and TomTom like to take turns being the most ridiculously slow loader, sometimes up to 4+ seconds. I think the problem is actually Astrolabe, the map library those two both use, because of all the processing and querying it does immediately. It really needs a full rewrite, but I have way too many other things to do, and Astrolabe is basically made of spiders (big fat hairy ones) so I have no intention of doing it myself.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Search/Requests » Loading Screen AddOn

Thread Tools
Display Modes

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