[Scummvm-devel] R: Re: Dynamic Plugins (uncached) - optimization

sunmax at libero.it sunmax at libero.it
Sun Jan 26 05:48:26 CET 2014

Hi Johannes,

>> Doesn't configure generate a "plugin table" now which is included in one of
>> the cpp already ?
>That is only used for statically linked plugins. It's used to hook them up.

Yes, the purpose is different.

The idea is that since we are already iterating through the plugins for that 
static table, we could leverage some of the logic to put together the gameid -> 
plugin match table. The other 50% of the logic is contained in plugin_files and 
already implemented (as that already maps a gameid to a plugin).

>> The table and matches would be so simple (as it doesn't require updates 
>> we add new engines or supported game for an engine), that I can't imagine 
>> adding more of a few minutes overhead per release. It it's automatically
>> generated at configure, not even that ;-)
>It's not only about time but also about that it needs to be kept up to 
>date and not forgotten. But we can work on some automatic approach in 
>case we need it.

Yes, that would be the best approach.

>>>> Do you have any measurements on the boot times between cached and
>>>> uncached builds?
>> Yes. Boot 15s (uncached) vs 1m40s (cached) on my PS2.
>> Even static (all plugins statically linked, which has been the default so 
>> for PS2 release) is much faster than cached, just 40s.
>This makes me wonder: Is this an issue for other ports using our ELF 
>loader? I think the PSP and Wii use this one too and I cannot remember 
>reports on that slow detection times there. Did you try to investigate 
>why plugin loading is that slow on the PS2?

Good point. I assume USB 1.0 is the limit when you store the plugins/games on 
PS2 USB key (as most PS2 users do).

The best solution is still to load only the single plugin that is needed both 
when we start the game, and when adding new games, if we can have the folder 
name shortcut optimization in place. And to boot as uncached, so we get to the 
Launcher GUI very fast ;-)


More information about the Scummvm-devel mailing list