Download
(60 Kb)
Download
Updated: 06-14-10 12:27 AM
Pictures
File Info
Updated:06-14-10 12:27 AM
Created:05-26-10 01:36 PM
Downloads:6,300
Favorites:46
MD5:
gBags  Popular! (More than 5000 hits)
Version: 1.07
by: Goldpaw [More]
gBags is no longer updated on WoWInterface.

Please visit Curse for the latest version:
http://wow.curse.com/downloads/wow-a...ils/gbags.aspx
1.07
- Changed cacheEQsets() to only be called upon login and updated equipment sets, not every time a container is opened, and also re-uses the same table every time. This will fix the issue with severe memory increases when the bags are open.
- Removed " (beta)" from the .toc ## Title

1.06
- Added Dimensional Ripper - Everlook/Area 52, Gnomish Alarm-o-bot and Crashin' Trashin' Robot to Gizmos
- Moved the Keyring filter up where it belongs to grab "extra" keys before other categories do

1.051
- gLib 2.41

1.05
- Now uses gLib 2.4
- Fixed a font issue causing distorted money text
- Fixed an issue causing the bank's graphic space display to show a copy of the bagspace instead
- New slash command; /gbags scale x (where 2.0 >= x >= 0.5)
- New category! Gizmos; Holds a lot of Use: items that can't be equipped, nor consumed.

1.04
- Added Heroic Celestial Planetarium Key to the custom keyring table

1.03
- Added the "Recipy" category.
- Now uses the new BagBar plugin to display bag bars
- Removed the filter categories from the localization.lua file
- Commented the localization.lua file a bit better
- When you now open the Keyring, it will remain open until you close it or reload the interface
- Bankframe stacksplit bug resolved

1.02
- Added (some) German localization. Thanks Spooky!
- Now has a global searchbar accessible by clicking on the main container's space display
- Most of the issues with the Esc key and opening/closing of the bags should be resolved now

1.01
- Now uses Implementation:AtBank() to handle the bank frame
- Added events to fire off the Blizzard closing functions when the bank or main frames are hidden, this solves issues with opening after getting the bags/bank closed with the Esc key.

1.0
- Release
Archived Files (6)
File Name
Version
Size
Author
Date
1.06
60kB
Goldpaw
06-10-10 12:45 AM
1.051
60kB
Goldpaw
06-09-10 05:16 PM
1.05
60kB
Goldpaw
06-09-10 03:05 PM
1.03
54kB
Goldpaw
06-01-10 07:09 AM
1.01 beta
51kB
Goldpaw
05-27-10 03:40 AM
1.0 beta
51kB
Goldpaw
05-26-10 01:36 PM


Post A Reply Comment Options
Unread 07-02-10, 01:26 PM  
DrunkenDonkey
A Murloc Raider

Forum posts: 5
File comments: 7
Uploads: 0
Goldpaw and carg, thanks for the great addon!

May I make some requrests, I'm not sure if they are for gbags or the cargbags core, but will try anyway:

- searching: dim items instead of making them dissapear - same level of visibility, but with the added benefit of operating with stacks. Now, to find and split an item you have to clear the search field in the middle of split operation to find an empty space to drop the stuff. Very common with professions mats.

- (later) searching: when "cargBags anywhere" functionality is added back, print out searching results per character. For example searching for "prism" and hitting enter results in:
1. Large Prismatic Shard (28)
- Character1 (12): bags (4), mailbox (2), bank (6)
- Character2 (16): ...
2. Small Prismatic Shard (3)
....

- placing new items in "main" bags instead of their specific category, moving there on next reopening - adding new item makes me hunt it down in whole bags to be able to operate with it and often resorting to search to get it. Be it gear, profession stuff, or the item in the middle of boss fight I need to use right away...

- disabling the whole category distribution while bags are opened - current model of redrawing and repositioning when every item is added/removed is very prone to mistakes - you can't even vendor few pieces of crap without having to wait after every click for the display to update, because you don't know what you will click on next. "Removed" item should be empty square until reopening

- disabling restacking on adding new items while bags are open - when operating with professions, you should be able to keep bags open, someone trade you mats, they go in main bag, clearly separate from the rest, items don't stack with your own, then you make the stuff (which goes into the main too), you trade back the produced thingies and the leftover mats and be done with. Now... have to go back in the log to see who have given me what so I can return...

Hope you find some of these ideas useful
DrunkenDonkey is offline Report comment to moderator  
Reply With Quote
Unread 06-30-10, 01:08 AM  
Goldpaw
A Cyclonian
 
Goldpaw's Avatar
AddOn Author - Click to view AddOns

Forum posts: 45
File comments: 296
Uploads: 21
Originally posted by elals29
will gbags ever work on the guild bank?
That is up to cargor, the author of the cargBags framework to decide.
__________________
http://www.friendlydruid.com/
Goldpaw is offline Report comment to moderator  
Reply With Quote
Unread 06-29-10, 07:22 PM  
elals29
An Aku'mai Servant
Premium Member

Forum posts: 33
File comments: 69
Uploads: 0
will gbags ever work on the guild bank?
elals29 is offline Report comment to moderator  
Reply With Quote
Unread 06-21-10, 08:15 AM  
cag_dk
A Deviate Faerie Dragon
 
cag_dk's Avatar

Forum posts: 14
File comments: 44
Uploads: 0
Re: Bank sorting

Originally posted by Zosopage
When I add items to the bank they don't auto sort. I'm not sure how your sorting works but for me I have to logout and back in to get the items to sort in my bank. Is there any command line to sort? Am I doing something wrong?
Try http://www.wowinterface.com/download...BankStack.html
__________________
King for a Day, Fool for a Lifetime
cag_dk is offline Report comment to moderator  
Reply With Quote
Unread 06-20-10, 12:41 PM  
Zosopage
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Originally posted by Taargkrizzt
if you close the bank tab and reopen it, they will sort. Also right-click items from inventory directly to bank for autosort/stack.
This does not work for me. I only have this mod loaded for trouble shooting and it still does not work this way. The only way to sort is to logout and back in.
Last edited by Zosopage : 06-20-10 at 01:23 PM.
Zosopage is offline Report comment to moderator  
Reply With Quote
Unread 06-20-10, 12:35 PM  
Taargkrizzt
A Murloc Raider

Forum posts: 5
File comments: 27
Uploads: 0
if you close the bank tab and reopen it, they will sort. Also right-click items from inventory directly to bank for autosort/stack.
Taargkrizzt is offline Report comment to moderator  
Reply With Quote
Unread 06-20-10, 12:30 PM  
Zosopage
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Bank sorting

When I add items to the bank they don't auto sort. I'm not sure how your sorting works but for me I have to logout and back in to get the items to sort in my bank. Is there any command line to sort? Am I doing something wrong?
Zosopage is offline Report comment to moderator  
Reply With Quote
Unread 06-14-10, 06:14 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 376
Uploads: 20
What is a lot?

When it remains the same on subsequent calls until the garbage-collector steps in, it's okay and normal I think, except if the numbers are very high. I don't know what exactly causes this, but my theory is that it's somehow connected to string-generation.
If you create a new string, it is stored in memory forever and all new string-variables (which are identical) are just a reference to this one. So maybe, at first, its memory is counted towards your addon, and when the reference is "garbage-collected" / freed, the real string just resides in the Lua environment, so addon-memory goes down again.
And on a later call, the strings are then fetched into addon-memory again (and since you don't create real new ones, the memory-usage does not go any higher).
But that's just my theory, I don't know

The cargBags-core has this "problem" too. It always ranges between +- 10 kb when updating the bags - and the core does excessive string handling, e.g. fetching names/textures/etc for all items. I guess it's okay then.
__________________
Website | GitHub

Oh hai!
xConStruct is offline Report comment to moderator  
Reply With Quote
Unread 06-14-10, 12:04 AM  
Goldpaw
A Cyclonian
 
Goldpaw's Avatar
AddOn Author - Click to view AddOns

Forum posts: 45
File comments: 296
Uploads: 21
Originally posted by Cargor
Hi all,
I was a bit curious if there is a memory leak in cargBags and decided to investigate a bit. (Be aware: lots of programmer stuff here! )

I splitted cargBags from gBags to get individual stats and the numbers were:
cargBags 85 kb
gBags 193 kb

On opening of bags, cargBags stays roughly the same, around 10 kb overhead which is then garbage-collected a few seconds to minutes later (it's needed for the whole item-data, so no surprise). Multiple openings do not increase the memory, so there seems to be no leak.

gBags however increased from 190 kb to 480 kb on my test-toon, these ~300 kb overhead were then also garbage-collected. Every subsequent opening added the 300kb, so if you open the bags multiple times in a few seconds, memory usage can go well over 1.6 mb. There really seems to be some kind of memory leak.

I glanced a bit into the gBags-code and found out that the function cacheEQSets creates a new table every time it is called, populating it with equipment-set data - so the old table is then garbage-collected. This shouldn't be a great problem, but here comes the issue:
I checked where it is called and it is called in one of the filter-functions (onlyItemSets).

So, every time the filter is called, it refreshes equipment-data, releasing the old table and generating a new one. A filter is called once per item slot, so when the bags open, on my toon the table is 96 times newly generated, resulting in waaaaay to large overhead.

I removed the function from the filter and re-checked it (but without testing equipment-set functionality) - and indeed, gBags now stays around 190 kb for me.

So, make sure you only refresh equipment-data when necessary, or re-use the old table by first wiping it.
Ah, it was that simple.



Note so self;
Learn to wipe()



EDIT:
I've fixed it now, added a wipe(), only created a new table if the old one didn't exist, and moved the cacheEQsets() calls to the addon startup and updated equipment sets events only.

My tests now return values from 260 KB to 320 KB when opened. Which is a bit more reasonable....




On a sidenote;
During my tests, the memory usage did indeed increase a lot each time I opened the bags, but no matter how many times I opened the bags, it remained the same. The tables themselves go away when not being used, but because of the large amount of calls and tables created in a very short period, it creates large peaks of memory usage. But shortly after, the memory usage goes down again.

Does this define as a leak? Or just poor handling?
__________________
http://www.friendlydruid.com/
Last edited by Goldpaw : 06-14-10 at 12:22 AM.
Goldpaw is offline Report comment to moderator  
Reply With Quote
Unread 06-13-10, 01:38 PM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 376
Uploads: 20
Hi all,
I was a bit curious if there is a memory leak in cargBags and decided to investigate a bit. (Be aware: lots of programmer stuff here! )

I splitted cargBags from gBags to get individual stats and the numbers were:
cargBags 85 kb
gBags 193 kb

On opening of bags, cargBags stays roughly the same, around 10 kb overhead which is then garbage-collected a few seconds to minutes later (it's needed for the whole item-data, so no surprise). Multiple openings do not increase the memory, so there seems to be no leak.

gBags however increased from 190 kb to 480 kb on my test-toon, these ~300 kb overhead were then also garbage-collected. Every subsequent opening added the 300kb, so if you open the bags multiple times in a few seconds, memory usage can go well over 1.6 mb. There really seems to be some kind of memory leak.

I glanced a bit into the gBags-code and found out that the function cacheEQSets creates a new table every time it is called, populating it with equipment-set data - so the old table is then garbage-collected. This shouldn't be a great problem, but here comes the issue:
I checked where it is called and it is called in one of the filter-functions (onlyItemSets).

So, every time the filter is called, it refreshes equipment-data, releasing the old table and generating a new one. A filter is called once per item slot, so when the bags open, on my toon the table is 96 times newly generated, resulting in waaaaay to large overhead.

I removed the function from the filter and re-checked it (but without testing equipment-set functionality) - and indeed, gBags now stays around 190 kb for me.

So, make sure you only refresh equipment-data when necessary, or re-use the old table by first wiping it.
__________________
Website | GitHub

Oh hai!
xConStruct is offline Report comment to moderator  
Reply With Quote
Unread 06-13-10, 08:10 AM  
Goldpaw
A Cyclonian
 
Goldpaw's Avatar
AddOn Author - Click to view AddOns

Forum posts: 45
File comments: 296
Uploads: 21
Originally posted by Xwonic
The part where you said it was doing ~260kb while idle its true, im sorry for the miss confusion.

But each time i open the bags and its not just first time, the memory goes up alot. And after closing it goes down to ~260kb again

I must admit I never did check the memory usage with open bags. It does indeed go up when the bags are open, and down again when they close. I can't answer why this is so, but I'm pretty certain cargor who wrote the framework can. Most likely this is a feature to REDUCE memory usage when the bags are hidden.

Now, I still don't consider this a problem. CPU efficiency <> Memory Usage. And CPU efficiency > Memory Usage. If the addon used 100MB I still wouldn't consider it a problem, as long as it was consistent, and the performance was high.

And the usage is definitely consistent.

Only good reason to keep the addons megasmall, is the loading time. Luckily the addon itself is pretty small, and the memory usage is a result of reserved space AFTER the addon is loaded. Meaning that the memory usage with open bags does not affect the loading time.
__________________
http://www.friendlydruid.com/
Last edited by Goldpaw : 06-13-10 at 08:12 AM.
Goldpaw is offline Report comment to moderator  
Reply With Quote
Unread 06-13-10, 01:17 AM  
Goldpaw
A Cyclonian
 
Goldpaw's Avatar
AddOn Author - Click to view AddOns

Forum posts: 45
File comments: 296
Uploads: 21
Originally posted by Lathron
Nope - I meant adding Currency Info - ie: Badges, Stone Keepers Shards etc
Yeah, that was what I was talking about too!

What I am afraid of, is lack of space. If people are tracking Honor, Arena Points, and Stone Keeper Shards, and let's say this is a Hunter. A Hunter with 200000 gold nonetheless. We could potentially have a string with 200000 g 67s 39c, 75000 honor, 5000 arena, 500 stone keeper shards, even with icons instead of text, that will take up a lot of space. I can't see enough room there for all of that.
__________________
http://www.friendlydruid.com/
Goldpaw is offline Report comment to moderator  
Reply With Quote
Unread 06-12-10, 04:07 PM  
Xwonic
A Kobold Labourer

Forum posts: 1
File comments: 20
Uploads: 0
Originally posted by Goldpaw
I have no idea what "mg" is. I can only assume it's some localized version of KB or MB.

Anyway, it IS memory efficient. It doesn't increase. The bags are created when they are opened, therefore the memory usage will increase when you open the bags the first time, and also when you open the bank the first time. This is per session. Then it stays the same.

I just did 25 dailies, after opening my bank and bags before heading out, and gBags' memory usage stayed almost exactly at 261.6 KB all the time for me. There are no memory leaks, no constant increase. Of course FuBar Performance reports it to increase fast if you check right after login, since it's probably the addon that reserves the most memory in the shortest period of time. But if we're going to use statistics, use them right. Try playing for 6-7 hours without reloging or reloading the UI. Then you can see if it truly increases it's size or not.

260ish KB of memory might be more than some want to spend on an addon, but really, it isn't much. And memory usage <> CPU performance. All reports show cargBags2.0 to be very efficient.

So I'm afraid I can't fix the memory issues, since there are none.

When it comes to the sorting;
With a few exceptions (Gizmo category, and a few items in the Keyring), the sorting is done by Blizzard. If Blizzard says it's Armor, then it goes into Armor.

If your weapons are part of your stored item sets in the Equipment Manager, they will appear in the "Item Sets" category, not in "Weapons". If your weapons aren't part of any sets, and still appear in the "Armor" category, than that's a whole other issue.
The part where you said it was doing ~260kb while idle its true, im sorry for the miss confusion.


But each time i open the bags and its not just first time, the memory goes up alot. And after closing it goes down to ~260kb again

Last edited by Xwonic : 06-12-10 at 04:09 PM.
Xwonic is offline Report comment to moderator  
Reply With Quote
Unread 06-12-10, 03:00 PM  
Lathron
A Kobold Labourer

Forum posts: 0
File comments: 12
Uploads: 0
Originally posted by Goldpaw
You mean move it up? There wouldn't be room. It's current position is fine as it is.
Nope - I meant adding Currency Info - ie: Badges, Stone Keepers Shards etc
Lathron is offline Report comment to moderator  
Reply With Quote
Unread 06-12-10, 10:01 AM  
Goldpaw
A Cyclonian
 
Goldpaw's Avatar
AddOn Author - Click to view AddOns

Forum posts: 45
File comments: 296
Uploads: 21
Re: Shifty...

Originally posted by Pro-Fool
You updated it with a scaling, after I posted

No possibility to make them smaller?

Edit 2; Dunno if its just me, but "Locking" the bag frames don't seem to work - The position is ALWAYS reset upon a /reloadui OR relog etc.
It's not just you.

Locking the bags doesn't actually save the position between sessions/reloads. I intended it too, but somehow I never got around to actually doing it.

The option text is definitely misleading right now, but it will have to remain the same, as I intend to add saved position, and am too lazy to change stuff back and forth all the time.

Expect a fix in a few days.
__________________
http://www.friendlydruid.com/
Goldpaw is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.