Need help with testing Animation Cache swapping patch :)

Dmitry Kazakov dimula73 at gmail.com
Thu May 31 16:02:09 UTC 2018


Hi, all!

I have just implemented the animation cache swapping feature and I need 
your help with testing its usability and stability :)

What is it and why it is needed?
===================

When the user presses Play button, Krita needs to prepare all the frames 
of the user's animation and store this cache somewhere. In older 
versions of Krita all these cached frames were stored on in RAM. It 
caused some troubles when the user decided to make quite big animation 
clip, e.g. 200 frames of 6000x4000, which is about 19GiB(!) and will not 
fit into normal user's RAM :)

This new feature will make Krita drop all these cached frame to a hard 
drive and not occupy so much RAM.


What it does?
========

When the frames are generated, they are first compressed and then saved 
to the hard drive, into the same folder where swap file is stored. 
During the playback, the frames are fetched from the hard drive on demand.


Configuration options
=============

The options are placed in:
Settings->Preferences->Performance->Animation Cache

* In-Memory/On-Disk -- choose whether you want to use old or new engine
* Limit Cached Frame Size -- if the size of the frame is too big, Kirta 
may fail too load/decompress it quickly enough. Recommended value is 
2500px. In such a case, the frames will always be scaled down to the 
size not bigger than 2500px.
* Region of Interest -- when enabled, Krita will pre-generate only a 
portion of the canvas currently visible to the user
* Auto-generate animation cache -- enable generation of the frames in a 
background

All the options have tooltips, don't hesitate to check them :)


How to test?
=======

I've made a Windows package, so you could test it easily :)

https://yadi.sk/d/wX0G4z9J3WjpPt

If you prefer building yourself, you can try my git-branch:

git checkout kazakov/animation-cache-swapping


Test plan
======

0) Make sure you have On-Disk backend activated and Frame Size Limit Set.
1) Open/Create an animaiton file with resolution 6000x4000 and at least 
200 frames
2) Press Play button

Try playing the animation many times with different zoom level and 
panning. Also try to pan the image right while playback to see the 
margins of region-of-interest.

Everything should work in a sane way :)

-- 
Dmitry Kazakov

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kimageshop/attachments/20180531/9d021cb7/attachment.html>


More information about the kimageshop mailing list