Baganator

Baganator

1M Downloads

Hitching/Lockup on first open

Xorag opened this issue ยท 24 comments

commented

Please include as much of the following information as possible to help me fix the bug:

Brief Description of Bug

The past couple of weeks I've noticed an issue where my game will hitch/drop frames briefly whenever I open my inventory for the first time after logging in on a given character. I suspect maybe its due to me having 15 toons with bags/banks and the saved data is just getting too big to parse quickly?

Steps to Reproduce

Have 15+ toons with recorded bags and bank. Log in to one of them and open the inventory while moving/running etc... and see if you have a brief hitch/lockup

Loaded Addons

A bunch but it seems to persist while only running baganator

Back Trace (LUA Error Output)

No errors recorded, simply a performance issue

commented

To add, my saved variable file is 337KB, just under 16,000 lines

commented

Testing indicates that this issue is reproducible when the Pawn upgrade arrows are enabled.

Do you have Pawn enabled?

commented

I can try to play around and do more testing, I also generally keep my inventories pretty clean and empty and the hitching is definitely way less pronounced with no other addons enabled, but with all of them enabled it is noticeably worse

commented

Third update - it does appear to be tinyinspect. even with all of the options turned off it still seems to be having an effect on the inventory icon skinning/performance... It hasn't been updated since 10.0.2 but this is a fairly new problem for me in the past couple weeks, i'll try to roll back versions to see when it was introduced

commented

No i've never used pawn and as a matter of policy I don't really like/use addons that modify item icons etc... I think the only thing I have that modifies item tooltips would be auctionator? to show sell/vendor prices and tinyinspect which does have those features but i've turned them all off.

Thanks!

commented

I tried a half a dozen baganator versions solely with tinyinspect going back to the v1 release and it still persists.

if i disable baganator it does not happen with the default bag UI (with tinyinspect still enabled).

Maybe something API related changed because i'd swear this is a fairly recent issue and i have not changed any addons recently as far as i can remember.

commented

You can run

/bgr c debugtimers true

To get elapsed times for each action that Baganator does

commented

I can look at tiny inspect later to find out what happened

commented

tinyinspect enabled
tiny enabled

tinyinspect disabled
tiny disabled

commented

I've installed TinyInspect, having it loaded makes the bag take twice as long to load for me, my bags are almost full though.

On a reload

With:
image

Without:
image

Note the "live layout took 5 bags" line. I've tested across multiple reloads and clean logins, same effect.

For a clean login

with:
image
without:
image

commented

The 5 bags only covers the first 4 bags and backpack though, the "took 1 bags" line covers the reagent bag.

commented

The later "took 5 bags" and "took 1 bags" line are a lot faster because Baganator preserves the layout and buttons.

The reload is faster because the item data TinyInspect is requesting is now in the clients cache and causes less of a delay to access it.

commented

Do you have any of the TinyInspect options for modifying item icons on?

commented

I think the noticeable performance hit is because both Baganator and TinyInspect request similar data (with TinyInspect requesting more than Baganator), so you get the item data request performance drop twice.

commented

thats pretty wild, unfortunately tiny inspect is only updated once per expansion i think the dev is a chinese player but the region got shut down this year so no clue what will even happen with it, but the inspect and item listing has been one of my favorite features. I can't really say why this issue started happening but i'm hoping to avoid dumping it entirely

commented

no i only have on "gems and enchants", "show character sheet", and "show inspect sheet". you have to uncheck the other sub-nodes before the parent nodes otherwise the sub-node options stay enabled. It's janky

commented

(I'm guessing not, but I'm also guessing that unlike Baganator it doesn't switch most of the processing off when the extra details are not needed)

I'll look at modifying Baganator to cut down the performance drop further, but about 2/3 of the time was TinyInspect which I won't be able to alleviate.

commented

Can you try placing -- at the start of this line and see if the issue disappears?

https://github.com/Auctionator/Baganator/blob/main/UnifiedBags/ItemButton.lua#L633

commented

Tested that. No performance change when the line is changed

commented

well...

if i remove the loading for:
ItemBorder.lua
ItemLevel.lua

In the tiny inspect TOC it seems to fix it.. with no appreciable impact to my desired addon functionality... lol

commented

Yeah. I've tested with just TinyInspect enabled, and the bag loading time (for the Blizzard one-bag-view) doubles going from 52ms (with Baganator and TinyInspect disabled) to 102ms (only TinyInspect)

commented

Yea like i said this addon has always been... strange, disabling options sort of doesn't really unless you uncheck boxes in a certain order but im fine with just excising their problematic code... i don't personally want it or use it anyway

commented

If there's no remaining issues I'll close the issue?

commented

sounds good, thanks for the help!