Thread Tools Display Modes
11/29/22, 07:20 AM   #1
Octopuss
 
Octopuss's Avatar
Join Date: Jul 2017
Posts: 171
Savedvars size and loading times

Does the size of the files in savedvars affect loading times or is it mostly the addon code complexity that adds to loading times?
I'd like to shorten the time it takes for the game to load, knowing for a fact it's as short as around 7 seconds on my relatively powerful PC, but I just can't cut down on the amount of addons, because I need most of them. But the damn game takes over 30s to load or /reloadui, and I carefully created some addon profiles so I don't load for example the crafting ones all the time.
I guess there's no way around this and there are no optimizations I can do on my end though.
  Reply With Quote
11/29/22, 08:53 AM   #2
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 627
Not really. In 2015 when I added import and export features to HarvestMap and made my HarvestMerge mod I did that so users could shuffle information they wanted to retain to HarvestMerge and then import only what they wanted back to HarvestMap. It also allowed users to share information because there wasn't an easy way to do that back then. At the time that was also done to reduce load times.

These days on your powerful PC you have 7 seconds to 30 seconds to load your game yet for me, and I would have to Fraps it and then cut and edit the video to add my comments but for me it takes several minutes. I would even guess 3 to 5 minutes each time I reload my UI. As you can imagine if I mess up coding something I have to wait for the UI to reload and then, instantly reload again because I can make the changes while the game is still loading.

I'll comment a bit later because I'm at work but there are some settings for MM that may help but it may not make a significant impact, maybe 25 seconds to load.

Last edited by Sharlikran : 11/29/22 at 09:00 AM.
  Reply With Quote
11/29/22, 10:10 AM   #3
Octopuss
 
Octopuss's Avatar
Join Date: Jul 2017
Posts: 171
I used to have MM set to store 3 months worth of sales few years ago but it made loading so unbearably slow (I presume not because of the physical size of data but the processing power required to go through tens of thousands of entries being crunched on one sad CPU core) I had to go back to the usual 30 days.

There's also this indexing thing I am vaguely aware of but I never tried that and don't remember what it does.

But it looks like my assumption was correct and I have to make a choice (which I already did it seems) of convenience vs performance
I wish the game had a little more modern engine.

Last edited by Octopuss : 11/29/22 at 10:33 AM.
  Reply With Quote
11/29/22, 11:37 AM   #4
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 627
I wouldn't necessarily blame it on the engine itself the language used for the modifications isn't multi-threaded. The game is I believe.

MM will increase loading, HarvestMap because of the stored node information. I actually only store the places that I visit rather than import hundreds if not thousands of locations because the more locations the longer it takes initially for the game to load.

Inventory Insight manages all of your alternate characters and what kind of inventory they have. Anything that tracks a character's knowledge for recipes or motifs. Basically data collection is what does it.

If you enable minimal indexing for master Merchant and then it might take a little less time to initialize but your game is still going to take 30 seconds to load before the initialization of MM. However searching for items will either be slower or in some cases it won't work at all. So that isn't always the best option and I didn't design it that was Philgo. I need to overhaul that though at some point.

Over the weekend I finally figured out exactly how some of the processing works during initialization. The changes I made barely decreases the load time. However, I finally think I might be able to write something and use LibAsync. If I use that library then it may take a little longer to initialize but you won't have this big lag and a bunch of jerkiness during the initialization.

It's always a work in progress.
  Reply With Quote
11/29/22, 12:23 PM   #5
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 627
https://pastebin.com/JmtgwCnD

There's my computer specifications and why it probably takes me about 3 to 5 minutes to load my game. It could actually be two or three but I haven't timed it lately I just know it takes a long time.

Last edited by Sharlikran : 12/02/22 at 07:13 AM.
  Reply With Quote
11/29/22, 01:54 PM   #6
Octopuss
 
Octopuss's Avatar
Join Date: Jul 2017
Posts: 171
Oh jeez, you have my sympathies!
I was gaming un Core i77 3770K until 2020 or so, so I feel your pain. Upgrading to Ryzen 5800X and 32GB of memory was such an upgrade I can only compare it to switching from HDD to SSD back in the day.

Btw I see I miswrote my original post. With my specs, the game takes about 7 seconds to /reloadui with no addons running.

Last edited by Octopuss : 11/29/22 at 01:57 PM.
  Reply With Quote
11/29/22, 04:21 PM   #7
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
Loading time differs and increases based on your total SV files to load and write, each time at login/reloadui/zone change with loading screen.

Loading time decreases if you use a SSD, and a fast CPU, and your network speed is stable and fast (uplaod especially).
Loading time increases the bigger your SV files will get during game play.

So disable addons you do not need to write SV data each time, and only enable them if needed (Crafting addons e.g., or Master Merchant and other hungry addons).

Clear library data like /SavedVariables/LibDebugLogger.lua via the slah command, logout and manually delete it, or use DebugLogViewer UI's settings menu to clear it.
Same relates to other addons: Check their settings for "SV clear" options or logout, backup and manually clear them if not needed anymore (e.g. check for unused character names and Ids in the SV files and remove them).

This was answered so many times btw, please use the forum search (https://www.esoui.com/forums/search.php -> "SavedVariables time" e.g.) or read the ESOUI Wiki, it tells you the same, thank you.

If you already disabled the addons and shrinked the files, you can only logout in uncrowded areas as this will also speed up login loading next time.
Crowded areas need more server inetractions and thus the loading speed will be longer than others (sometimes your house will be fastest to load e.g. , sometimes it isn't... Depends on ZOs magic).

Last edited by Baertram : 11/29/22 at 04:24 PM.
  Reply With Quote
11/30/22, 01:09 AM   #8
Octopuss
 
Octopuss's Avatar
Join Date: Jul 2017
Posts: 171
Ugh, my brain wires for searching first really don't work this year, do they? Normally I google stuff up-front, but when it comes to more special things, the concept of search feature somehow competely escapes me


I'm not sure I understand though: the game consists of tens of GBs and that stuff loads in matter of seconds. How can few tens of MBs worth of savedvars make an impact? I mean, unless the LUA code is extremely inefficient, writes everything at once repeatedly etc...

Btw in the case of LibDebugLogger, I wasn't able to figure out how to make it stop writing anything. There doesn't seem to be an option for that unfortunately. I guess it adds up. If I delete the file, it gets recreated and grows up to few hundreds of kBs each session.
  Reply With Quote
11/30/22, 02:01 AM   #9
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
Btw in the case of LibDebugLogger, I wasn't able to figure out how to make it stop writing anything. There doesn't seem to be an option for that unfortunately. I guess it adds up. If I delete the file, it gets recreated and grows up to few hundreds of kBs each session.
Thats intended/the purpose of that lib! It provides debug info to the devs to report bugs. It does not matetr in etrms of loading if the files are not multiple MB big, so just delete the SV file after logout if you do not need to report any bugs.
You can use slash commands to do that too, check teh lib description. Or use the UI for that which provides a settings menu next to the other addons (DebugLogViewer). If you enable that UI it will capture chat debug messages and not show them in chat anymore! Just as info so you do not wonder.
I only enable it while debugging (the UI) and then use the settings menu to clear it and change what messges should be captured (e.g. only info -> less data stored. Debug enabled > many data stored. Stack trace enbaled -> much data stored!).
  Reply With Quote
12/04/22, 02:41 AM   #10
Octopuss
 
Octopuss's Avatar
Join Date: Jul 2017
Posts: 171
Originally Posted by Sharlikran View Post
If you enable minimal indexing for master Merchant and then it might take a little less time to initialize but your game is still going to take 30 seconds to load before the initialization of MM. However searching for items will either be slower or in some cases it won't work at all.
Considering I rarely ever need to search, this might help. What are the cases where it might not work at all though, do you have any idea?
  Reply With Quote
12/04/22, 06:27 AM   #11
Sharlikran
 
Sharlikran's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 627
Nope, a user posted something about it but I don't remember.
  Reply With Quote

ESOUI » General Discussion » Tech Chat » Savedvars size and loading times

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off