Skip to content

kwineffects: Provide own static plugin infrastructure

Whenever QImageReader needs to read an image, it will load the corresponding image handler plugin and use it to decode image data.

The problem is that it will go through all available static plugins and read plugin metadata json object to filter out plugins with different IID.

Since recently, we converted builtin effects into static plugins. Therefore, when QImageReader wants to read an image, it may potentially have to go through a dozen of builtin effects. In addition to that, QStaticPlugin::metaData() doesn't cache return values, so a good chunk of cpu time can be spent converting cbor to json, mostly because of utf.

Ideally, static plugins need to be namespaced to avoid parsing metadata.

As an interim solution, this change adds own static plugin importing capabilities for builtin effects.


There's frameworks/kcoreaddons!149 (merged). I'm not sure how long it will take to finalize the api. If it takes too long, I would like to stick with this MR as an interim solution.

Edited by Vlad Zahorodnii

Merge request reports