https://bugs.kde.org/show_bug.cgi?id=493437
Dmitry Kazakov <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REPORTED |CONFIRMED Ever confirmed|0 |1 CC| |[email protected] --- Comment #2 from Dmitry Kazakov <[email protected]> --- I can confirm the issue. The problem happens with these brush presets: https://krita-artists.org/t/memileo-impasto-brushes/92952 The reason: The presets have a huge texture and a huge brush in the PNG's metadata area saved as base64+XML. So, every time we load the resource (even when this resource is already present in the database), Krita has to: 1) Decompress the metadata block with "inflate" algorithm. It basically, decompresses a chunk that is already compressed and base64 encoded. 2) Iterate through this XML document with huge CDATA sections. We have multiple solutions for the problem: 1) Just don't save "embedded resources" within the preset, when the preset is saved into a bundle (since bundle also includes them when saving) 2) Save the embedded resources in a separate PNG-metadata section * the main "preset" section should still contain the metadata of the embedded resources, but shouldn't contain the CDATA section. * the CDATA sections should be stored in a separate PNG-metadata section that is loaded only when needed 3) Do not use QImageBuilder and use libpng directly to disable compression on that extra PNG-metadata section (sounds a bit too much) -- You are receiving this mail because: You are watching all bug changes.
