Questie

Questie

130M Downloads

Improve start time

BreakBB opened this issue ยท 2 comments

commented

Description

One of the biggest performance losses on the initial load of Questie are the huge Lua tables our databases comes with.

As follow-up to #5801 we should transform more Lua tables to a loadable string, to increase start times.

TODOs

  • Transform all Automatic corrections as string and use loadstring to load them on start
  • Update the build.py to transform all Corrections (classicQuestFixes.lua, cataQuestFixes.lua, ...)
    • The idea here is to use some markers (like -- @transform-on-build-start + -- @transform-on-build-end), find these in the build script and then replaces the marked locations to get a loadable string
    • To make sure this does not affect development, the places that call the wrapping function should simply check for type(x) == "string" and then use loadstring
commented

I am wondering where the quest description is used by Questie. It seems to me that the quests database are

[QuestID] = {Quest Name, Quest Description, Quest Objective}

I don't know where quest description is used, and that takes up the bulk of text. Maybe it could be stripped down

[QuestID] = {Quest name, nil, Quest Objective}

To reduce loading

commented

I am wondering where the quest description is used by Questie.

It is not used anywhere atm and was never used before. There is this TODO for a couple of years:

https://github.com/Questie/Questie/blob/master/Localization/l10n.lua#L58

@Muehe @Cabro @MyTechnoHunter what do you think? Should we just remove that chunk of data?

I am not even sure where we would really show the quest description, if we would add them. Maybe in the Journey, but other than that I don't see any need. We show the objectives texts and that suffices imo.