ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   General Authoring Discussion (https://www.esoui.com/forums/forumdisplay.php?f=174)
-   -   Lua Memory Limit Error (https://www.esoui.com/forums/showthread.php?t=6985)

ZOS_ChipHilseberg 04/19/17 03:46 PM

Lua Memory Limit Error
 
Would anyone be opposed to just removing this from the game?

ArctixFox 04/19/17 04:00 PM

Well, that depends - what happens if you blow past it? If it auto expands, then sure remove it. If it crashes the game or breaks addons then it should stay I suppose :D

The low (default) limit is aggravating to be sure. I upped mine to 1024 to get rid of the warnings. What's the max, hard limit (on the x64 binaries)?

Anceane 04/19/17 04:10 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 30636)
Would anyone be opposed to just removing this from the game?

actually i use http://www.esoui.com/downloads/info8...LUAMemory.html.

If by removing it, we still can play smooth and not be spamed crashed by the limit, then no problem.

Mine is set to 2048.

ZOS_ChipHilseberg 04/19/17 04:22 PM

The error is purely informative. Lua will keep growing its memory until the system runs out.

Rhyono 04/19/17 04:45 PM

Well the limit is hardly a limit if it doesn't limit anything; may as well remove it.

Ayantir 04/19/17 05:03 PM

I won't be opposed, I'm not really here anymore, and this thing was originally a good thing, but with certain addon, it clearly denotes something being overwhelmed.

But, I would enjoy a message still being present.
Per exemple, use the notification Manager to warn user.

" Lua Memory of the game is high. This error is generally triggerred by an intense usage of the computer memory by the extensions, if you experience slowdowns, please review your addons ".

With maybe an event when memory hit 512MB (or 1GB if you really want to remove it from base game)..

Anceane 04/19/17 06:02 PM

Quote:

Originally Posted by Ayantir (Post 30641)
I won't be opposed, I'm not really here anymore, and this thing was originally a good thing, but with certain addon, it clearly denotes something being overwhelmed.

But, I would enjoy a message still being present.
Per exemple, use the notification Manager to warn user.

" Lua Memory of the game is high. This error is generally triggerred by an intense usage of the computer memory by the extensions, if you experience slowdowns, please review your addons ".

With maybe an event when memory hit 512MB (or 1GB if you really want to remove it from base game)..

Honnestly if i have to be spammed each 5min for lua limit i will just give up. It was like this before the addon i mentionned existed, and the result was that each time i log off and was not tempted to go in again.
So can the addon still function even if Zos remove the limit ?
The comfort to play actually without to bother about it is way above all my expectations from Zos. Or can i still put my own number limit on the settings ?

Rhyono 04/19/17 06:39 PM

Quote:

Originally Posted by Anceane (Post 30642)
So can the addon still function even if Zos remove the limit ?

It appears that the "limit" is merely a warning. Think of it like speeding and your passenger tells you that you are speeding. They aren't actually stopping you from speeding, but you can still wreck if you keep going faster.

votan 04/19/17 11:25 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 30636)
Would anyone be opposed to just removing this from the game?

I think you can remove it. People will ignore it until the client crashes and complain to everyone but themselves.

Maybe the client should auto logout on a real Lua "out of memory" exception with a messagebox in the login screen.

Or the warning itself should keep being there, but adjusted to the real free system memory.
~2GB for the x86 client. And for x64 client: Most people have 16GB+ memory. The warning would come at ~13GB.
And in this case it is really a warning and should be formulated like that.

sirinsidiator 04/20/17 02:49 AM

I don't mind it being removed, or maybe you could change it so it only shows up at a configurable percentage of the actual memory limit. Right now it is more annyoing than helpful.

As for what happens when you blaze past the limit, it looks like you will get an "Out of memory" lua error and the client will just crash a few seconds later, but don't ask me how that happened. :D

Anceane 04/20/17 06:49 AM

So if i understand well the situation could be soon:

You are in raid, and suddenly message LUA memory and crash ?

Wow that is a so good idea

sirinsidiator 04/20/17 07:18 AM

Quote:

Originally Posted by Anceane (Post 30646)
So if i understand well the situation could be soon:

You are in raid, and suddenly message LUA memory and crash ?

Wow that is a so good idea

You are wrong.

During normal operation you won't ever get to the physical memory limit and crash because of it. That only happens when an addon does something it shouldn't do.

Imagine you have a car and it flashes a warning when you reach a configured speed (e.g. 10km/h), but it could actually drive 300km/h without a problem. You would never get close to this limit when you just drive normally. Chip is asking if we mind if the configurable warning is removed as it doesn't have any real benefit.

AssemblerManiac 04/20/17 03:37 PM

If memory management already auto-expands, the message as it is doesn't help. If it says "LUA memory default is lower than what's being used. We'll expand as needed, this is just a warning.
To get rid of this message, bump it up in 64k increments until the message goes away.", then maybe people won't freak out as bad.


Just had a great idea - unlikely to be implemented though

Memory usage normal/raid/dungeon

Possible solution for mem crash/topout when you least expect it.

MyAddon.txt
## TrialFriendly: Yes/No ; when absent, defaults to yes

For addons like Master Merchant, AwesomeGuildStore, and others that take a huge amount of memory or processing, when you load into a trail, if any of your addons are TrialFriendly: No, a reloadui gets called to load a reduced set of addons (only use those that ARE TrialFriendly). When you exit the trial, it loads 'em all like normal.

Since loading into a Trial, a lot of people turn off addons, it might be nice to give 'em a way to do it automagically. Or even a setting in usersettings.ini that has a list of addons to disable for trials.

Sort of like stripping down a car for racing - get rid of all the weight you can to go faster :)

Anceane 04/21/17 01:55 AM

OK i understand the reasonning but i still dont catch how it will affect me.

Before i used the LUA addon to put my limit lua to 2048, I often happened to have an automatic reloadui for that, and sometimes during very bad moment : quest boss, escaping a bad combat, delves, and the result was each time bad for my character.

Actually with the addon, i never have to bother with it.

So if ZoS remove the limit, i will have to deal again with the message and limit and then to found out which addon is doing the problem ? i guess for that i will need to load another addon ? or can i simply go into my inisettings and add a line like SET LuaMemoryLimitMB "2048" ?

Thank you

Quote:

Originally Posted by sirinsidiator (Post 30647)
You are wrong.

During normal operation you won't ever get to the physical memory limit and crash because of it. That only happens when an addon does something it shouldn't do.

Imagine you have a car and it flashes a warning when you reach a configured speed (e.g. 10km/h), but it could actually drive 300km/h without a problem. You would never get close to this limit when you just drive normally. Chip is asking if we mind if the configurable warning is removed as it doesn't have any real benefit.


sirinsidiator 04/21/17 03:00 AM

I am telling you, it won't affect you as a normal user (this is a developer discussion btw. check which subforum you are in). The only thing you will notice, or not notice, is that you don't get meaningless low memory warnings anymore.
You won't have to reload your UI, you won't crash. Nothing will happen as long as you are not an addon dev doing stuff out of the ordinary.

ZOS_ChipHilseberg 04/21/17 07:41 AM

The error and the memory limit setting will be removed from the game when Morrowind launches.

Anceane 04/21/17 11:30 AM

Thanks and sorry. Perfect explanation
Quote:

Originally Posted by sirinsidiator (Post 30653)
I am telling you, it won't affect you as a normal user (this is a developer discussion btw. check which subforum you are in). The only thing you will notice, or not notice, is that you don't get meaningless low memory warnings anymore.
You won't have to reload your UI, you won't crash. Nothing will happen as long as you are not an addon dev doing stuff out of the ordinary.


manavortex 04/25/17 01:23 AM

Quote:

MyAddon.txt
## TrialFriendly: Yes/No ; when absent, defaults to yes
I love this idea, Assembler. Maybe even expand on this. I'd love to have the memory leeches load with a delay, for example, so that they don't expand every single loading screen I ever hit...

@Chip: Any way you can see how you could help with this?

As for the original request: I'm good with disabling the popup and sending a system/error message instead. If you want it prominent, prioritise it like the server going down messages. Something like "LUA memory will be expanded from... to..., to disable this message, edit your UserSettings.txt and set..."

ZOS_ChipHilseberg 04/25/17 07:51 AM

Quote:

Originally Posted by manavortex (Post 30701)
I love this idea, Assembler. Maybe even expand on this. I'd love to have the memory leeches load with a delay, for example, so that they don't expand every single loading screen I ever hit...

@Chip: Any way you can see how you could help with this?

It's possible, but not something we could do quickly. The UI only loads once when you first get in game. After that, traveling to different areas doesn't reload the UI. There is no support right now for dynamic loading of an addon and dynamic unloading would be much harder than that.

manavortex 04/25/17 07:55 AM

I see - hmm. I would love to be able to define contexts for AddOns. Let's use MasterMerchant as an example - I literally don't need it, unless I'm browsing the auction house or bag or displaying an item via tooltip, but it's doing Ihavenocluewhat in the background and causing my loading screens to explode. Or Srendarr, which I don't need when I'm not fighting.
Do I make sense? Not asking for an immediate solution of course, but maybe that's something that could use some thought - context trading, auctionhouse, ava, combat..?

Dolgubon 04/25/17 07:57 AM

I also think that a setting for trial addons would be helpful. Maybe it could also extend to Cyrodil too. If it does, it could be renamed to HeavyAddon or some similar name.

votan 04/25/17 08:13 AM

Quote:

Originally Posted by Dolgubon (Post 30705)
I also think that a setting for trial addons would be helpful. Maybe it could also extend to Cyrodil too. If it does, it could be renamed to HeavyAddon or some similar name.

Well, we are talking about build-in support of (hard-coded) sets of addon-profiles. (context: PvE, PvP, Trial, ...)
Which means to do a /reloadui during transfer, if the set of addons, valid for the target profile, would change traveling to/from Cyrodiil and so on.

ufff, not easy.

/edit: BTW: What would happen, if an addon would do /reloadui at EVENT_PLAYER_DEACTIVATED ?

AssemblerManiac 04/25/17 08:39 AM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 30703)
It's possible, but not something we could do quickly. The UI only loads once when you first get in game. After that, traveling to different areas doesn't reload the UI. There is no support right now for dynamic loading of an addon and dynamic unloading would be much harder than that.

Wasn't talking about dynamic unloading, just a forced reloadui. The loading system figures out which addons it needs to load based on where the player is (inside a trial or not).

Nothing overly fancy like unloading stuff from memory, I know that would be difficult, especially with addons and dependencies/optional depends.

sirinsidiator 04/25/17 11:44 AM

I think this is going into a wrong direction. The whole "I want to addon set 1 while doing x" thing is IMO just a sign that some addons are too heavy. Instead of trying to get ZOS to add something to disable them based on a value in the manifest, I think it would be better if we could get ZOS to add something to allow us to easily profile performance and memory usage of addons in certain scenarios. That way we can easily find out why someone wants addon a, b and c disabled during a trial and do something about it.
Besides, it is pretty easy to write an addon that manages other addons based on the zone you are in and automatically reload the ui with only some addons enabled, but pretty much impossible to write an addon to analyze other addons performance and memory usage.

AssemblerManiac 04/25/17 03:34 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 30703)
It's possible, but not something we could do quickly. The UI only loads once when you first get in game. After that, traveling to different areas doesn't reload the UI. There is no support right now for dynamic loading of an addon and dynamic unloading would be much harder than that.

Quote:

Originally Posted by sirinsidiator (Post 30708)
I think this is going into a wrong direction. The whole "I want to addon set 1 while doing x" thing is IMO just a sign that some addons are too heavy. Instead of trying to get ZOS to add something to disable them based on a value in the manifest, I think it would be better if we could get ZOS to add something to allow us to easily profile performance and memory usage of addons in certain scenarios. That way we can easily find out why someone wants addon a, b and c disabled during a trial and do something about it.
Besides, it is pretty easy to write an addon that manages other addons based on the zone you are in and automatically reload the ui with only some addons enabled, but pretty much impossible to write an addon to analyze other addons performance and memory usage.

Who said anything about analyzing someone elses addon? I'm talking strictly from the addon author point of view where, as authors, we know if our addon is heavy enough to cause performance problems where someone would want max responsiveness (trials).

If we can write a library that's easy enough to use, that forces reloadui when going into trials IF they have an addon loaded that they don't want to have, then lets do it.

Basic features
- pop up list of addons that are currently loaded
- allow user to mark which to not run during trials
- grab snapshot of "what's loaded" when entering trial, remove some, reload (if any were selected)
- figure out which event to track to know when they're going into/out of a trial zone
- restore snapshot of "what's loaded" when exiting trial

If this needs to move to a diff thread, someone split it off pls.

manavortex 04/26/17 12:49 AM

While I see siri's point (it's not really ZOS's problem that we as add-on authors haven't managed to come up with a decent replacement for MasterMerchant ;)), I also second Assembler:

I'm using AddOn Select to have different AddOn states that I can load for different game contexts. My solution works fine for me.

My sets are:
  • default
  • trading
  • pve
  • ava
  • debug
  • debug (current addon)

However, while I am content with my solution, it's somewhat maintenance intensive. Whenever I get a new AddOn, I have to adjust four to five AddOn-profiles. I know fully well that the standard user* cannot be arsed to invest that much effort to make sure that their game runs smoothly**.

A way to mark AddOns based on their context would hence be awesome - as would the option to simultaneously hold two lists of AddOns, an active and an inactive one. If anything else would be too taxing on your side, I'm confident that we could do the rest - provide the user with some customised version of AddOn Select that would be clever enough to tell the different contexts apart?


* I was about to mention console users, who can't install an AddOn to manage their AddOns. Fortunately, I noticed in time.
** My standard use case is my husband. "My ESO is lagging!" - "Then deactivate some AddOns?" - "I don't want to! It's taking so long each time!" - "Use AddOn Select and create a profile?" - "I don't want to!" - "..." - "My ESO is lagging!"***
***Overexaggerating for the sake of entertainment

Sharlikran 05/26/17 09:16 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 30656)
The error and the memory limit setting will be removed from the game when Morrowind launches.

For the novice user having an advanced option like this will make no sense. They won't know what is a reasonable amount to set it to. In that respect have a setting you like as default for the warning like 128MB.

It has been mentioned to add something to the game settings and I like that idea. Would it be feasible to add an ON/OFF option and under it a small text box. With Shissu's LUA memory, he has an option to report how much LUA memory is being used. Would you be willing to add that the the game settings also?

Savvy mod users could then see how much is in use, use common sense that it's probably because of certain mods they have that collect data like HarvestMap, and then turn the warning on and set the warning to occur when they want.

To me that just seems pretty easy. However, if you prefer not to do that can you leave in the ability for a mod author to use the API and make those changes please.

Rhyono 05/26/17 09:26 PM

Quote:

Originally Posted by Sharlikran (Post 31130)
For the novice user having an advanced option like this will make no sense. They won't know what is a reasonable amount to set it to. In that respect have a setting you like as default for the warning like 128MB.

Well the warning never actually did anything in the first place. I think their ideal options were to either remove it or make it useful (like resource intensive addons having a warning or something) and option A was easier.


All times are GMT -6. The time now is 04:50 AM.

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