[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-kimageshop
Subject: Need help with testing Animation Cache swapping patch :)
From: Dmitry Kazakov <dimula73 () gmail ! com>
Date: 2018-05-31 16:02:09
Message-ID: 1090cf04-fddd-b0d1-234f-2318854fb7b1 () gmail ! com
[Download RAW message or body]
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
[Attachment #3 (text/html)]
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<font size="-1">Hi, all!<br>
<br>
I have just implemented the animation cache swapping feature and I
need your help with testing its usability and stability :)<br>
<br>
What is it and why it is needed?<br>
===================<br>
<br>
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 :)<br>
<br>
This new feature will make Krita drop all these cached frame to a
hard drive and not occupy so much RAM.<br>
<br>
<br>
What it does?<br>
========<br>
<br>
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.<br>
<br>
<br>
Configuration options<br>
=============<br>
<br>
The options are placed in:<br>
Settings->Preferences->Performance->Animation Cache<br>
<br>
* In-Memory/On-Disk -- choose whether you want to use old or new
engine<br>
* 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.<br>
* Region of Interest -- when enabled, Krita will pre-generate only
a portion of the canvas currently visible to the user<br>
* Auto-generate animation cache -- enable generation of the frames
in a background<br>
<br>
All the options have tooltips, don't hesitate to check them :)<br>
<br>
<br>
How to test?<br>
=======<br>
<br>
I've made a Windows package, so you could test it easily :)<br>
<br>
<a class="moz-txt-link-freetext" \
href="https://yadi.sk/d/wX0G4z9J3WjpPt">https://yadi.sk/d/wX0G4z9J3WjpPt</a><br> \
<br> If you prefer building yourself, you can try my git-branch:<br>
<br>
git checkout kazakov/animation-cache-swapping<br>
<br>
<br>
Test plan<br>
======<br>
<br>
0) Make sure you have On-Disk backend activated and Frame Size
Limit Set.<br>
1) Open/Create an animaiton file with resolution 6000x4000 and at
least 200 frames<br>
2) Press Play button<br>
<br>
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.<br>
<br>
Everything should work in a sane way :)<br>
</font><font size="-1"><br>
</font>
<pre class="moz-signature" cols="72">--
Dmitry Kazakov</pre>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic