Thread Tools Display Modes
Today, 12:24 PM   #1
TagCdog
Join Date: Jun 2019
Posts: 29
Deferred initialization to speed up loading screen?

Hi All,

I'm curious about a trend I've noticed in some addon changelogs which mention implementing "deferred initialization" for slightly faster loading screens.

In my own experience, addons can have a huge impact on load times:
  • Old PC: With 100+ addons, my loading screen could take 2-3 minutes or more. Disabling addons brought it down to under 30 seconds.
  • New PC: The same addons result in a load time of under a minute, but disabling them still leads to a sub-30-second load.
This makes me wonder:
  1. Is deferred initialization feasible for most addons?
  2. How significant is the performance improvement from deferred initialization? Is it noticeable only on slower systems, or does it benefit everyone?
  3. Why don't more addon developers implement this technique? Are there specific reasons/limitations that prevent its widespread adoption?
The Potion Maker addon was the latest addon to do this so I asked Gemini to explain how it worked here (hopefully its answer isn't just AI nonsense): https://g.co/gemini/share/473d6703943c

I'd appreciate any insights from addon developers or experienced users. Thanks in advance!
  Reply With Quote
Today, 03:44 PM   #2
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2016
Posts: 413
Let's start with 3. There's a lot of possible reasons why not, but I have an add on that's a great candidate, and it's so nice that you're offering to do the work to convert it! There's a github for it and I take PR requests and...
So, yeah, that's reason #1 why not. It takes time and effort to convert an addon to defer the initialization.

Some other reasons:
Major changes to add-ons also run the risk of introducing major bugs
The load gains are vastly disproportionate to the effort required. If an addon only requires 1 second to load why bother?
The addon is so simple that there's simply no point
The addon has nothing that can be deferred or is deferred by nature (for example, an addon that only does stuff in trials is essentially deferred anyway)
No one is maintaining the addon
The addon might already use deferred initialization
You always need the addon anyway


So as you can see, there's a lot of reasons why an addon is very likely to not be converted to use deferred initialization.


Addons that are good candidates for deferred initialization are ones that need to do a lot of computation or create a lot of UI elements that may or may not be required by the user.
For question 2, it's going to be vastly more noticeable on slower systems, because if your game loads in 20 seconds, it's not going to be much different if it loads in half the time. Also, some stuff is fixed time to load (e.g. wait for server information on items and skills cannot be sped up)
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Deferred initialization to speed up loading screen?


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