[Scummvm-devel] Dynamic Plugins (uncached) - optimization
Johannes Schickel
lordhoto at gmail.com
Sat Jan 25 21:26:02 CET 2014
On 01/25/2014 08:18 PM, sunmax at libero.it wrote:
> no need to load them all.
>
> As we know a-priori that "comi", "dig", "mokey2", etc. all maps to "scumm.plg"
>
> So if the folder start with "comi*", "dig*", "monkey2*" etc. we try to load
> scumm.plg first.
> So we just need a table to match them, and to enjoy the very best performance
> out of dynamic plugins.
That's information which is not stored somewhere outside the individual
plugin files though. We only build such a map after games are detected
(i.e. only for gameids where we actually had entries). This is done
inside the "plugin_files" domain inside the config file with the
uncached plugin manager.
Right now it's only possible to generate one on the fly by loading all
plugins one after another (on startup). Hardcoding such a list would
again increase the maintance overhead (by introducing redundancy).
> Cached is very slow to start on some embedded devices. And then if you decide
> to add more games after you play one, still have to go through the same drill
> and 3-5 minutes of patience for each addition.
Do you have any measurements on the boot times between cached and
uncached builds?
For cached it will reload all plugins after you return from a game, so
it shouldn't fall back to the uncached detection logic in this case.
This makes me wonder: Is it really the plugin loading which is this slow
or is the detection itself just slow?
// Johannes
More information about the Scummvm-devel
mailing list