WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   AddOn Search/Requests (https://www.wowinterface.com/forums/forumdisplay.php?f=6)
-   -   Loading Screen AddOn (https://www.wowinterface.com/forums/showthread.php?t=50787)

laukond 12-21-14 06:44 PM

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.

Tim 12-21-14 07:23 PM

Try starting with only 1 addon loaded and keep re-logging while adding an extra addon everytime.

laukond 12-21-14 07:24 PM

Quote:

Originally Posted by Tim (Post 302893)
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 :-)

Phanx 12-21-14 08:55 PM

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.

laukond 12-21-14 09:14 PM

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)


Phanx 12-22-14 12:52 AM

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.

laukond 12-22-14 05:55 AM

Thanks a lot, it works on all the AddOns now :) I agree only the loading time stuff is relevant.

natassja72 12-23-14 05:18 AM

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.

ObbleYeah 12-23-14 05:34 AM

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.

SDPhantom 12-23-14 10:38 PM

Quote:

Originally Posted by natassja72 (Post 303019)
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.

Phanx 12-24-14 12:37 AM

Quote:

Originally Posted by natassja72 (Post 303019)
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.

Quote:

Originally Posted by natassja72 (Post 303019)
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

Tonyleila 01-14-15 12:05 PM

Damn it HandyNotes has the longest loading time for me: 0.284
EDIT: Also sometimes HandyNotes loads with 2.985sec! WTF?

Phanx 01-14-15 02:06 PM

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. :p


All times are GMT -6. The time now is 07:47 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI