Download
(13 Kb)
Download
Updated: 10/05/15 12:27 AM
Pictures
File Info
Compatibility:
Update 7 (1.7.0)
Updated:10/05/15 12:27 AM
Created:04/23/14 08:18 AM
Monthly downloads:75
Total downloads:11,664
Favorites:36
MD5:
X4D Bank  Popular! (More than 5000 hits)
Version: 1.26
by: wilson0x4d [More]
X4D Bank

X4D Bank is a LibStub-compatible Add-On that performs regular Bank deposits.

Features
  • Auto-Deposit Gold, either fixed amount or percentage.
  • Specify a Reserve Amount, and optionally Auto-Withdraw to maintain your Reserve.
  • Specify Deposit Down-Time, such as depositing Gold only once an hour.
  • Auto-Deposit Items by filling incomplete stacks in your bank..
  • Deposit and Withdraw based on Item Type.
  • Options UI for easy configuration.

Planned Features
  • Display Gold Deposit output, currently relies on X4D Loot (or any similar add-on) for displaying Balance Changes.


Installation

First, make sure you have the latest X4D Core installed.

As with most Addons, simply open the Archive and copy the contents into "%USERPROFILE%\Documents\Elder Scrolls Online\live\Addons\" folder.

If ESO is already running, execute /reloadui command.


Change Log

To see version history, including 'vNext' (soon to be published) changes, view the README on Github.
Optional Files (0)


Post A Reply Comment Options
Unread 05/16/15, 08:06 PM  
wilson0x4d
Premium Member
 
wilson0x4d's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 180
Uploads: 10
Thumbs up Re: Re: Re: DWEMER SCRAP

RETESTING-

UPDATE: I believe this may have been fixed while resolving another issue earlier this week, but I still need to test. I haven't forgotten.

Thanks!

Originally Posted by madeskimo
yes on na sever just send message to @chindi and send one to ya.
Last edited by wilson0x4d : 05/29/15 at 06:20 AM.
Report comment to moderator  
Reply With Quote
Unread 05/28/15, 03:59 AM  
wilson0x4d
Premium Member
 
wilson0x4d's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 180
Uploads: 10
FIXED-

Well, I've learned a few interesting things over the past week or so:

1. There wasn't a memory leak, but memory usage was really aggressive. This is being addressed with the next release.
2. The Lua garbage collector configuration set by ESO (idle=1,step=0.1) under-performs if you run memory intensive add-ons, running the game with an increased memory limit does not solve the OOM event, it merely delays it (and for many people it delays it sufficiently that it appears to fix the problem.) This is also being addressed with the next release.
3. Closures in Lua appear to be more wasteful than the cost of a declared function that does the same thing, this is more of a problem when you're creating and discarding closures at a rate faster than the GC is configured to collect. Where it makes sense I've converted code to use one-time allocations for functions and state objects for more DFA-like behavior.

The net effect is it appears there is a memory leak if you run with the default 64MB memory limit, even though there is not.

I'll have a new set of packages published Friday (tomorrow) that solve the memory issues you've experienced. In my testing it looks like if you run only X4D Add-ons ESO's Lua footprint normalizes at around 25-30MB (which is less than half the default memory limit.)

Originally Posted by Kouroth
Hey, I found an interesting issue. I am not 100% sure it is your addon causing it but I found disabling your addon fixed the problem.

When farming XP I would kill large numbers of enemies and got a lot of loot. As my bags got full my UI and game would get lower frame rate and act erratic. It even crashed twice. I don’t know if your addon keeps track of loot gained or something but it was bad enough I disabled it when farming. I tried turning off several other addons but that didn’t fix it. The problem is, it happens after a lot of looting in the same area. So figuring out what is causing it will be time consuming. It could even be the game itself and not anything you wrote.

It reminded me of games with a memory leak. If I remember correctly ESO’s UI only has access to a finite amount of memory. If I do any more farming I’ll see if I can track it down more.
Last edited by wilson0x4d : 05/29/15 at 06:18 AM.
Report comment to moderator  
Reply With Quote
Unread 06/04/15, 09:36 AM  
Kouroth

Forum posts: 0
File comments: 56
Uploads: 0
Sweet! Thank you!
You put a lot of work into solving this and I am grateful! I'll be sure to let you know how it works out. I'd been disabling the addon while out of town, then re-enabling it. A pain but shows just how much I've been enjoying your addon.


Originally Posted by wilson0x4d
FIXED-

Well, I've learned a few interesting things over the past week or so:

1. There wasn't a memory leak, but memory usage was really aggressive. This is being addressed with the next release.
2. The Lua garbage collector configuration set by ESO (idle=1,step=0.1) under-performs if you run memory intensive add-ons, running the game with an increased memory limit does not solve the OOM event, it merely delays it (and for many people it delays it sufficiently that it appears to fix the problem.) This is also being addressed with the next release.
3. Closures in Lua appear to be more wasteful than the cost of a declared function that does the same thing, this is more of a problem when you're creating and discarding closures at a rate faster than the GC is configured to collect. Where it makes sense I've converted code to use one-time allocations for functions and state objects for more DFA-like behavior.

The net effect is it appears there is a memory leak if you run with the default 64MB memory limit, even though there is not.

I'll have a new set of packages published Friday (tomorrow) that solve the memory issues you've experienced. In my testing it looks like if you run only X4D Add-ons ESO's Lua footprint normalizes at around 25-30MB (which is less than half the default memory limit.)

Originally Posted by Kouroth
Hey, I found an interesting issue. I am not 100% sure it is your addon causing it but I found disabling your addon fixed the problem.

When farming XP I would kill large numbers of enemies and got a lot of loot. As my bags got full my UI and game would get lower frame rate and act erratic. It even crashed twice. I don’t know if your addon keeps track of loot gained or something but it was bad enough I disabled it when farming. I tried turning off several other addons but that didn’t fix it. The problem is, it happens after a lot of looting in the same area. So figuring out what is causing it will be time consuming. It could even be the game itself and not anything you wrote.

It reminded me of games with a memory leak. If I remember correctly ESO’s UI only has access to a finite amount of memory. If I do any more farming I’ll see if I can track it down more.
Report comment to moderator  
Reply With Quote
Unread 06/04/15, 08:34 PM  
Kouroth

Forum posts: 0
File comments: 56
Uploads: 0
New version

Testing the new code out.
I get an extremely long lag every time I open my bank for the first time each character.
It seems fine after that with only a little twitch when it deposits items (expected).
Then after I log out I get the extremely long lag again. (several seconds)

However a lot of the little frame rate twitches I'd get from time to time seem to be mostly gone. I've not tried out farming yet.

If I get time I'll let you know about that.

* Just as a note I have 187 / 240 bank slots full. x / 150 bag slots.
That character seems to get the longest lags.
The addon is mostly stacking a lot of items that are already in the bank.
Last edited by Kouroth : 06/04/15 at 08:36 PM.
Report comment to moderator  
Reply With Quote
Unread 06/05/15, 02:03 AM  
Joklix

Forum posts: 0
File comments: 41
Uploads: 0
Error on closing bank

Hi,
I got this error sometimes while closing the bank:

user:/AddOns/X4D_Core/lib/badgerman/BigNum.lua:374: function expected instead of number
stack traceback:
user:/AddOns/X4D_Core/lib/badgerman/BigNum.lua:374: in function 'BigNum.sub'
user:/AddOns/X4D_Core/lib/badgerman/BigNum.lua:549: in function 'BigNum.div'
user:/AddOns/X4D_Core/X4D_Strings.lua:40: in function 'base58'
user:/AddOns/X4D_Core/X4D_Icons.lua:42: in function 'X4D_Icons:ToIcon58'
user:/AddOns/X4D_Core/X4D_Items.lua:152: in function 'X4D_Items:FromBagSlot'
user:/AddOns/X4D_Core/X4D_Bags.lua:44: in function 'X4D_Bag:PopulateSlot'
user:/AddOns/X4D_Core/X4D_Bags.lua:32: in function 'X4D_Bag:New'
user:/AddOns/X4D_Core/X4D_Bags.lua:121: in function 'X4D_Bags:GetBag'
(tail call): ?
user:/AddOns/X4D_Bank/X4D_Bank.lua:463: in function 'OnCloseBank'
Report comment to moderator  
Reply With Quote
Unread 06/05/15, 03:49 PM  
wilson0x4d
Premium Member
 
wilson0x4d's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 180
Uploads: 10
SOLVED-

It would seem an add-on created a global variable named "max" which caused a conflict with the BigNum code.

I've fixed the issue on my end by local scoping the methods, but this would suggest there is some other addon that is defining a global variable named "max".

Since this doesn't seem high-profile I'll pend updating packages until Sunday, since I just published, no sense in having everyone re-pull updates if they should be fine.

Thanks for the report!


Originally Posted by Joklix
Hi,
I got this error sometimes while closing the bank:

user:/AddOns/X4D_Core/lib/badgerman/BigNum.lua:374: function expected instead of number
stack traceback:
user:/AddOns/X4D_Core/lib/badgerman/BigNum.lua:374: in function 'BigNum.sub'
user:/AddOns/X4D_Core/lib/badgerman/BigNum.lua:549: in function 'BigNum.div'
user:/AddOns/X4D_Core/X4D_Strings.lua:40: in function 'base58'
user:/AddOns/X4D_Core/X4D_Icons.lua:42: in function 'X4D_Icons:ToIcon58'
user:/AddOns/X4D_Core/X4D_Items.lua:152: in function 'X4D_Items:FromBagSlot'
user:/AddOns/X4D_Core/X4D_Bags.lua:44: in function 'X4D_Bag:PopulateSlot'
user:/AddOns/X4D_Core/X4D_Bags.lua:32: in function 'X4D_Bag:New'
user:/AddOns/X4D_Core/X4D_Bags.lua:121: in function 'X4D_Bags:GetBag'
(tail call): ?
user:/AddOns/X4D_Bank/X4D_Bank.lua:463: in function 'OnCloseBank'
Last edited by wilson0x4d : 06/05/15 at 11:31 PM.
Report comment to moderator  
Reply With Quote
Unread 06/05/15, 11:38 PM  
wilson0x4d
Premium Member
 
wilson0x4d's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 180
Uploads: 10
PLANNED-
I was able to optimize the bulk of bag access, but there is still a hit when refreshing the 'Bank state', especially if you have a large bank.

During normal operation bag state is maintained by various add-on code mitigating the need to constantly refresh 'Backpack state.'

The 'stutter' during bank trade is caused by the fact that the code makes protected calls against the UI to perform pick-up/drop operations between bags. My running theory has been that this means the operation occurs over a single thread which is also responsible for HUD/UI updates, and so it's more noticeable by users.

There is an outstanding issue where if you xfer too much too quickly you get bounced off the server for flooding. I do plan on tackling this issue, and when I do it will provide an opportunity (nay, it will require me) to restructure code so transactions occur over time, rather than all at once.

That said, I imagine the code within X4D_Bags could be optimized further. I will give it some TLC and see if I can't get something lean out early next week.

Thanks

Originally Posted by Kouroth
Testing the new code out.
I get an extremely long lag every time I open my bank for the first time each character.
It seems fine after that with only a little twitch when it deposits items (expected).
Then after I log out I get the extremely long lag again. (several seconds)

However a lot of the little frame rate twitches I'd get from time to time seem to be mostly gone. I've not tried out farming yet.

If I get time I'll let you know about that.

* Just as a note I have 187 / 240 bank slots full. x / 150 bag slots.
That character seems to get the longest lags.
The addon is mostly stacking a lot of items that are already in the bank.
Report comment to moderator  
Reply With Quote
Unread 06/17/15, 11:03 PM  
Kouroth

Forum posts: 0
File comments: 56
Uploads: 0
confusion

Here is an odd little bug. If you have a bunch of, say wood, that isn’t stacked in your bag or bank the addon won’t fully deposit or withdraw the items. It tends to leave some behind. It seems to get confused if you have a lot to both deposit and remove too.
An experiment I did: Put a bunch of wood and metal in the bank, and then split them up. The result: They don’t all get withdrawn.
I noticed this issue after a large farming expedition where I deconstructed a bunch of items. They don’t seem to stack correctly and then the whole deposit/withdraw thing goes nuts. It’s like it’s trying to stack the items and move them at the same time.
Also, I’m still turning the addon off when not in use because of performance hit. Though this might all be due to conflict with other addons maybe? It seems to cause little momentary jitters in my frame rate. Like a few millisecond pauses every so often. I don’t get them with it disabled.
Report comment to moderator  
Reply With Quote
Unread 06/17/15, 11:44 PM  
Kouroth

Forum posts: 0
File comments: 56
Uploads: 0
Frame rate jitters

Addon List: (wow, didn’t know I had that many)
Advanced Filters
AutoEmote
Crafting Stations
Destinations
ESO Toolbox
Foundry Tactical Combat
Inventory Grid View
Khajiit Speak
Khrill Merlin The Enchanter
LootDrop
LoreBooks
Lost Treasure
MiniMap by Fyrakin
MrPlow by Wobin & CrazyDutchGuy
MultiCraft
Research Assistant
Roomba
SkyShards
Sous Chef by Wobin, CrazyDutchGuy
SpentSkillPoints
[WG] Core Libraries
Wykkyd Ach. Tracker
Wykkyd Auto Repair
Wykkyd Enhanced HUD
Wykkyd Equip. Borders
Wykkyd Equip. Level
Wykkyd Full Immersion
Wykkyd Loot Manager
Wykkyd Outfitter
Wykkyd Quest Tracker
Wykkyd Suit Manger
Wykkyd Toolbar
X4D Bank
X4D Core
.
Ok, so the game runs just fine if I just have your addon running. (No surprise here) It seems the wykkyd suit and yours don’t like each other. I suspect they both use a LOT of memory. I tested the game with all my addons on but the Wykkyd, works fine, no jitters, same with Wykkyd on and yours off.
Disabled: Ach. Tracker, Enhanced HUD, Full Immersion. seemed to help some with both X4D and Wykkyd, but not 100% fixed.
Last edited by Kouroth : 06/17/15 at 11:54 PM.
Report comment to moderator  
Reply With Quote
Unread 06/18/15, 09:12 AM  
Joklix

Forum posts: 0
File comments: 41
Uploads: 0
Freeze at bank

The first time after logging in and visit a bank freezes my game for 15 Sek. Even if there are only 2 items to be moved. After that it is working without problems.
This doesn't change with disabling wykkyd addons.
Report comment to moderator  
Reply With Quote
Unread 06/18/15, 10:35 PM  
wilson0x4d
Premium Member
 
wilson0x4d's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 180
Uploads: 10
Question Re: Freeze at bank

INVESTIGATING-

Originally Posted by Joklix
The first time after logging in and visit a bank freezes my game for 15 Sek. Even if there are only 2 items to be moved. After that it is working without problems.
This doesn't change with disabling wykkyd addons.
X4D scans and caches a view of the bags. In then performs differencing as changes are reported via game events.

Ultimately there will be limits on how quickly anyone's computer is going to perform.

I have two options at this point in terms of code changes:

1. Implement a coroutine to spread the cost of item scanning over time, we will call this "Deferred Bag Scanning"
2. Implement persistence so the cost of item scanning only necessarily occurs the first time you visit a bank, and then forever forward maintain a persistent view of bags.
a) there are cases where bag state must be reset, and so a deferred bag scan may still be necessary.

Any preferences?
Report comment to moderator  
Reply With Quote
Unread 06/18/15, 11:51 PM  
wilson0x4d
Premium Member
 
wilson0x4d's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 180
Uploads: 10
Thumbs up Re: Frame rate jitters

INVESTIGATING-

I'll add some FPS logging to the debug mode logs this weekend so I can get an idea of what game performance is like when certain things are happening. Hopefully. I will also run through all of the add-ons and ensure features within Core are only activated when an addon 'requires' it. For now you might use the -debug slash-command and see if the memory usage is any way correlating with the jitter.

I assume this jitter happens when simply moving through the game world and/or when standing still doing nothing. Is that incorrect?

Originally Posted by Kouroth
Ok, so the game runs just fine if I just have your addon running.
I only use Skyshards and Zgoo myself, but so far have not noticed a problem.

Originally Posted by Kouroth
(No surprise here) It seems the wykkyd suite and yours don’t like each other.
Oh no. I hope there isn't a conflict, maybe there is some resource contention occurring and we'll only have to optimize our code a bit. I have not used Wykkyd's framework, nor looked at the code, I believe it's a large add-on even though I've no idea what it does. It's hard for me to have any opinion.

Originally Posted by Kouroth
I suspect they both use a LOT of memory.
This is probably true, and one of the changes that went out with my last update to X4D Core was to auto-manage garbage collector. So if you have a habit of running out of Lua memory (and it does happen) X4D will reconfigure the garbage collector to collect sooner and/or more often.

:!: Have you tried editing your game config file to increase the memory 64 MB memory limit?

There is a `/x4d -debug` slash-command you can use to enable debug logging, it will show memory usage. This is the same stat which is displayed if you load up the X4D_UI Add-on (it is reported as "ADDONS:" next to the "FPS:" and "PING:" stats.) but if you don't have that Add-on loaded you wouldn't normally see it.

* How much memory does your computer have for ESO/Gaming?

Originally Posted by Kouroth
I tested the game with all my addons on but the Wykkyd, works fine, no jitters, same with Wykkyd on and yours off.
* What are your CPU specs?

* What about your GPU?

* Is the 'jitter' affect the HUD only, or does it affect the 3D environment?

* Does it affect audio?

Thanks.
Report comment to moderator  
Reply With Quote
Unread 06/19/15, 01:43 AM  
Joklix

Forum posts: 0
File comments: 41
Uploads: 0
Re: Re: Freeze at bank

Originally Posted by wilson0x4d
INVESTIGATING-Ultimately there will be limits on how quickly anyone's computer is going to perform.
I run a i5-3570k with 3.8 GHz and 8GB RAM. That should be enough for a bank scan. I have the jitters as well. CPU-use is not going up. For the time opening the bank I got a "not responding" state for eso.
I have two options at this point in terms of code changes:

1. Implement a coroutine to spread the cost of item scanning over time, we will call this "Deferred Bag Scanning"
2. Implement persistence so the cost of item scanning only necessarily occurs the first time you visit a bank, and then forever forward maintain a persistent view of bags.
a) there are cases where bag state must be reset, and so a deferred bag scan may still be necessary.

Any preferences?
I use this addon for quick automatic transfering materials between chars, bank and mules. So I just log most of them in open bank and log them out. If I am right, the second option would be better for this, but that is really your decision.
Thanks anyway for looking into this.
Report comment to moderator  
Reply With Quote
Unread 06/20/15, 12:46 AM  
Kouroth

Forum posts: 0
File comments: 56
Uploads: 0
sec

Re: Frame rate jitters
I'll update you tomorrow when I have some time. Sorry for the delay in response.
Report comment to moderator  
Reply With Quote
Unread 06/20/15, 01:57 PM  
Kouroth

Forum posts: 0
File comments: 56
Uploads: 0
Re: Re: Frame rate jitters

Originally Posted by wilson0x4d
I assume this jitter happens when simply moving through the game world and/or when standing still doing nothing. Is that incorrect?
Yes. They happen when you move around, fight, etc. They also tend to be longer when looting items, or doing other activates that deal with items.
Originally Posted by wilson0x4d
Oh no. I hope there isn't a conflict, maybe there is some resource contention occurring and we'll only have to optimize our code a bit. I have not used Wykkyd's framework, nor looked at the code, I believe it's a large add-on even though I've no idea what it does. It's hard for me to have any opinion.
Me too! The game runs great with one or the other; it’s probably a memory issue.
Originally Posted by wilson0x4d
Have you tried editing your game config file to increase the memory 64 MB memory limit?
ESO Toolbox has an option ‘Allow twice as much UI memory’ I turned that on a while ago. I’ll check the INIs or whatever and see if that is actually set.
Originally Posted by wilson0x4d
There is a `/x4d -debug` slash-command you can use to enable debug logging, it will show memory usage. This is the same stat which is displayed if you load up the X4D_UI Add-on (it is reported as "ADDONS:" next to the "FPS:" and "PING:" stats.) but if you don't have that Add-on loaded you wouldn't normally see it.

* How much memory does your computer have for ESO/Gaming?
I have 16 GB of ram.
Debug reports:
37781890 to 37739780. I’ll install the UI addon and keep an eye on it while I do some complex stuff.
Not sure what the red vs green numbers mean but they switch a lot.
Originally Posted by wilson0x4d
* What are your CPU specs?

* What about your GPU?

* Is the 'jitter' affect the HUD only, or does it affect the 3D environment?

* Does it affect audio?
AMD FX 8350 Eight-Core Processer 4.00 GHz
Nvidia GeForce GTX 780 Ti
Both the UI and 3D environment (why it’s so annoying)
The audio does not seem to be affected.
Last edited by Kouroth : 06/20/15 at 03:00 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: