The current code performed two functions:
- metadata was read async
- the event loop is spun between each effect loading
After we merged static and binary plugins this caused a problem for things like blur and background contrast where loading an effect influences what we advertise as supported. We don't want plasmashell to have to reload all it's SVGs.
All KDE provided binary plugins are statically bundled so querying for plugins is super duper fast anyway. It's not the kbuildsycococa path that it used to be.
The C++ plugins tend to be considerably faster in their constructor than scripted counterparts, and if anything should be loaded lazily it can be handled inside the effect.