@Baardvark: KVN actually explained in part how the loading system works:

Originally Posted by Larian_KVN
When you enable a mod, a custom story is built at runtime that uses the header and goal files of all relevant modules to create the final story for the game. Also when running from an existing savegame, if a change to the add-on setup is detected, those new goals, etc. get patched in/out of the existing story. (It's also how we patch in story changes to the actual game).

"Mod" doesn't just mean mods we create, but also the official patches, which are loaded just like mods. So, it sounds like any time you enable a mod, or just run the game with patches, the game recompiles the entire story with that new data. I understand why they did this (budget + time), but a more performant solution would be to patch in/out new data instead of rebuilding the whole story.

In my real-world database work, we had to figure out a way to add content to a database-driven platform without interrupting the experience, so we needed real-time delta indexing, which allowed us to insert new results without cutting off customers from the service and forcing us to rebuild the index. The game needs something similar, perhaps running in a background thread.

Why do we have to load the ENTIRE story anyway? I think the story data could be segmented and streamed in as needed, but that's a huge architectural project for which Larian may not have the resources, based on the PC Gamer interview with Swen.

Originally Posted by WMC51
People do this?

Yeah. I've had people come at me like "this modder isn't listening to the community! What a terrible human being. Don't download his mods!" Like, what am I supposed to do about loading times? Take down my mods?