[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: Need help with testing asynchronous saving branch! :)
From:       Wolthera <griffinvalley () gmail ! com>
Date:       2017-07-09 15:17:13
Message-ID: CAN80MtHAYF1E3iBX04s287BNZAPmg_=DDZjcsyDjV999_hucqw () mail ! gmail ! com
[Download RAW message or body]

I tried working with a large file today, to test instant preview.
Uhm, instant preview has gotten a lot slower. Like, before I would be able
to handle its shortcomings and just paint, but now it honestly feels
slower. If I had to point fingers, I'd say the progress bar generation is
slower that before.

That said, the percentage based progress bar for instant preview is a
little easier on the eyes, so maybe we should enable it again on shorter
strokes(if we fix the new slowness).

On Sat, Jul 8, 2017 at 8:58 PM, Wolthera <griffinvalley@gmail.com> wrote:

> Async Bugs:
>
> =========
>
>
> Building issues:
>
> --------------
>
> * Issue in KisResourceBundleManifest: include <QForeachContainer> is not
> possible with Qt 5.9, removing this made it build.
>
> * Also issue in paintopsettings widget that was fixed in master. Please
> merge master.
>
> * The PDF plugin doesn't work. Dmitry said he doesn't have Poppler
> installed, hence...
>
> ```
>
> home/wolthera/krita/src/plugins/impex/pdf/kis_pdf_import.cpp: In member
> function ‘virtual KisImportExportFilter::ConversionStatus
> KisPDFImport::convert(KisDocument*, QIODevice*,
> KisPropertiesConfigurationSP)':
>
> /home/wolthera/krita/src/plugins/impex/pdf/kis_pdf_import.cpp:118:50:
> error: ‘class KisDocument' has no member named ‘progressUpdater'
> QPointer<KoUpdater> loadUpdater = document->progressUpdater()->startSubtask(1,
> "load");
>
> ```
>
>
> Opening tests:
>
> -------------
>
> All of these are KRA files.
>
>
> 1. A vectors only image. [SUCCESS]
>
> 2. A piece of pixel art with grids, transparency masks and filter masks
> [SUCCESS]
>
> 3. A multi-layer pixelart animation. [SUCCESS] (However, closing this file
> ended in a crash)
>
> 4. An old comic page with assistants. [SUCCESS]
>
> 5. A comic page with guides.[SUCCESS]
>
> 6. A 16bit float image. [SUCCESS]
>
> 7. An image with transform masks. [SUCCESS]
>
> 10. An image with inherit alpha. [SUCCESS]
>
> 11. An image with layer styles. ... Can't find one of these :x
>
>
> save-close-open tests
>
> --------------------
>
> The files for these are included in a zip I put onto dropbox. There's also
> some crashes included, but I am not sure they are specific to this branch:
>
> https://www.dropbox.com/s/eqlrmedpwvjk5im/Async_Tests.zip?dl=0
>
>
> 01. A 8bit RGBA image of 1024x1024. Saves, saved an autosave, loads
> correctly.
>
> 02. A vector in 8bit RGBA. Saves and loads correctly. However, the
> preview.png doesn't show the vector. Mergedimage.png seems to show the
> vector just fine. HOWEVER: Editing the vector doesn't trigger the "document
> is edited" stuff in the title bar. Changing the layer name does trigger
> this.
>
> 03. A 8bit CMYKA image. Saves, load, autosaves just fine. In other notes:
> CMYK painting is hell.
>
> 04. A 8bit LABA image. Save open close a success, but here I noticed that
> the Layer color labels don't save. (I think from my tests they do load, but
> I cannot be certain.) Similarly, I have instant preview on, and I noticed
> that if I hid or showed a layer, the pick-color-from-merged-image would be
> picking from the older version of the image.
>
> 05. A 8bit GRAYA image. Save open close a success.
>
> 06. A 8bit XYZA image. I noticed here that when you close a document, the
> layer contents don't get cleared from the layer stack. Anyway,
> autosave/save/load worked fine.
>
> 07. A 16bit integer RGBA image. Autosave/Save/Load works fine.
>
> 08. Guides test, saving and loading guides works fine. Autosave not
> checked.
>
> 09. Assistants test, saving and loading works fine, autosave not tested.
>
> 10. Animation test. Show in timeline, frame color labels, and onion skin
> are all confirmed to work.
>
> 11. Animation test 2: Ghost. Opacity keyframes load but do not save.
>
> 12. A complicated vector file. Same issue as 2, everything else
> saves/loads just fine.
>
> 13. A layerstyle file. Saving/loading works. Autosave not tested.
>
>
> General impression:
>
> ----------------
>
> Works pretty well, maybe a bit too well. I was for a while there convinced
> that the autosave functionality was broken, until I realised I hadn't
> enabled "show hidden files", and even after that I had to check the folder
> to see if an autosave had happened, because during painting I noticed
> NOTHING.
>
> I also can't report back on how the cache regeneration and friends work as
> it happens so fast I don't see a thing.
>
> On Fri, Jul 7, 2017 at 1:16 PM, Dmitry Kazakov <dimula73@gmail.com> wrote:
>
>> Hi, all!
>>
>> I have spent quite a lot of time on making it work and now it can finally
>> be considered as ready for testing! Now all saving operations in Krita can
>> run in background and not interfere with the painter's workflow! :)
>>
>> It means that you can continue to paint while saving/autosaving is doing
>> its work :)
>>
>> The patch is really huge and touches a lot of critical parts of Krita, so
>> I would really like it if some of you took courage and tested it :)
>>
>> To test the patch, just checkout my branch and build as usual:
>>
>> git checkout kazakov/async-saving<br>
>>
>> What needs to be tested:
>> 1) Correctness or loading (progress reporting while loading doesn't work
>> (but it never worked))
>> 2) Correctness of saving and progress reporting while saving. It should
>> at least show "0%" completed (most of our export filters don't know about
>> the progress anything :( )
>> 2.1) Please check saving of some rare options of .kra, like Guides,
>> Grids, Layer Styles, Selected layer and the like.
>> 3) Exporting of the image (and progress reporting as well)
>> 4) When saving/exporting, file name and "modified"/"recovered" flags
>> should be handled correctly
>> 5) Exporting and Importing animation frames. Progress reporting should
>> work absolutely correctly.
>> 6) Animation cache regeneration should also have nice progress reporting
>>
>> I tested all these points myself, bit I could miss some details. Please
>> feel free to write your comments here in the mailing list! :)
>>
>> --
>> Dmitry Kazakov
>>
>
>
>
> --
> Wolthera
>



-- 
Wolthera

[Attachment #3 (text/html)]

<div dir="ltr"><div><div>I tried working with a large file today, to test instant \
preview.<br></div>Uhm, instant preview has gotten a lot slower. Like, before I would \
be able to handle its shortcomings and just paint, but now it honestly feels slower. \
If I had to point fingers, I&#39;d say the progress bar generation is slower that \
before.<br><br></div>That said, the percentage based progress bar for instant preview \
is a little easier on the eyes, so maybe we should enable it again on shorter \
strokes(if we fix the new slowness).<br></div><div class="gmail_extra"><br><div \
class="gmail_quote">On Sat, Jul 8, 2017 at 8:58 PM, Wolthera <span dir="ltr">&lt;<a \
href="mailto:griffinvalley@gmail.com" \
target="_blank">griffinvalley@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">

<p style="margin:0px;text-indent:0px">Async Bugs:</p>
<p style="margin:0px;text-indent:0px">=========</p>
<p style="margin:0px;text-indent:0px"><br></p>
<p style="margin:0px;text-indent:0px">Building issues:</p>
<p style="margin:0px;text-indent:0px">--------------</p>
<p style="margin:0px;text-indent:0px">* Issue in KisResourceBundleManifest: include \
&lt;QForeachContainer&gt; is not possible with Qt 5.9, removing this made it \
build.</p> <p style="margin:0px;text-indent:0px">* Also issue in paintopsettings \
widget that was fixed in master. Please merge master.</p> <p \
style="margin:0px;text-indent:0px">* The PDF plugin doesn&#39;t work. Dmitry said he \
doesn&#39;t have Poppler installed, hence...</p> <p \
style="margin:0px;text-indent:0px">```</p> <p \
style="margin:0px;text-indent:0px">home/wolthera/krita/src/<wbr>plugins/impex/pdf/kis_pdf_<wbr>import.cpp: \
In member function ‘virtual KisImportExportFilter::<wbr>ConversionStatus \
KisPDFImport::convert(<wbr>KisDocument*, QIODevice*, \
KisPropertiesConfigurationSP)'<wbr>:</p> <p \
style="margin:0px;text-indent:0px">/home/wolthera/krita/src/<wbr>plugins/impex/pdf/kis_pdf_<wbr>import.cpp:118:50: \
error: ‘class KisDocument' has no member named ‘progressUpdater' \
QPointer&lt;KoUpdater&gt; loadUpdater =  \
document-&gt;progressUpdater()-&gt;<wbr>startSubtask(1, &quot;load&quot;);</p> <p \
style="margin:0px;text-indent:0px">```</p> <p \
style="margin:0px;text-indent:0px"><br></p> <p \
style="margin:0px;text-indent:0px">Opening tests:</p> <p \
style="margin:0px;text-indent:0px">-------------</p> <p \
style="margin:0px;text-indent:0px">All of these are KRA files.</p> <p \
style="margin:0px;text-indent:0px"><br></p> <p style="margin:0px;text-indent:0px">1. \
A vectors only image. [SUCCESS]</p> <p style="margin:0px;text-indent:0px">2. A piece \
of pixel art with grids, transparency masks and filter masks [SUCCESS]</p> <p \
style="margin:0px;text-indent:0px">3. A multi-layer pixelart animation. [SUCCESS] \
(However, closing this file ended in a crash)</p> <p \
style="margin:0px;text-indent:0px">4. An old comic page with assistants. \
[SUCCESS]</p> <p style="margin:0px;text-indent:0px">5. A comic page with \
guides.[SUCCESS]</p> <p style="margin:0px;text-indent:0px">6. A 16bit float image. \
[SUCCESS]</p> <p style="margin:0px;text-indent:0px">7. An image with transform masks. \
[SUCCESS]</p> <p style="margin:0px;text-indent:0px">10. An image with inherit alpha. \
[SUCCESS]</p> <p style="margin:0px;text-indent:0px">11. An image with layer styles. \
... Can&#39;t find one of these :x</p> <p style="margin:0px;text-indent:0px"><br></p>
<p style="margin:0px;text-indent:0px">save-close-open tests</p>
<p style="margin:0px;text-indent:0px">--------------------</p>
<p style="margin:0px;text-indent:0px">The files for these are included in a zip I put \
onto dropbox. There&#39;s also some crashes included, but I am not sure they are \
specific to this branch:</p> <p style="margin:0px;text-indent:0px"><a \
href="https://www.dropbox.com/s/eqlrmedpwvjk5im/Async_Tests.zip?dl=0" \
target="_blank">https://www.dropbox.com/s/<wbr>eqlrmedpwvjk5im/Async_Tests.<wbr>zip?dl=0</a></p>
 <p style="margin:0px;text-indent:0px"><br></p>
<p style="margin:0px;text-indent:0px">01. A 8bit RGBA image of 1024x1024. Saves, \
saved an autosave, loads correctly.</p> <p style="margin:0px;text-indent:0px">02. A \
vector in 8bit RGBA. Saves and loads correctly. However, the preview.png doesn&#39;t \
show the vector. Mergedimage.png seems to show the vector just fine. HOWEVER: Editing \
the vector doesn&#39;t trigger the &quot;document is edited&quot; stuff in the title \
bar. Changing the layer name does trigger this.</p> <p \
style="margin:0px;text-indent:0px">03. A 8bit CMYKA image. Saves, load, autosaves \
just fine. In other notes: CMYK painting is hell.</p> <p \
style="margin:0px;text-indent:0px">04. A 8bit LABA image. Save open close a success, \
but here I noticed that the Layer color labels don&#39;t save. (I think from my tests \
they do load, but I cannot be certain.) Similarly, I have instant preview on, and I \
noticed that if I hid or showed a layer, the pick-color-from-merged-image would be \
picking from the older version of the image.</p> <p \
style="margin:0px;text-indent:0px">05. A 8bit GRAYA image. Save open close a \
success.</p> <p style="margin:0px;text-indent:0px">06. A 8bit XYZA image. I noticed \
here that when you close a document, the layer contents don&#39;t get cleared from \
the layer stack. Anyway, autosave/save/load worked fine.</p> <p \
style="margin:0px;text-indent:0px">07. A 16bit integer RGBA image. Autosave/Save/Load \
works fine.</p> <p style="margin:0px;text-indent:0px">08. Guides test, saving and \
loading guides works fine. Autosave not checked.</p> <p \
style="margin:0px;text-indent:0px">09. Assistants test, saving and loading works \
fine, autosave not tested.</p> <p style="margin:0px;text-indent:0px">10. Animation \
test. Show in timeline, frame color labels, and onion skin are all confirmed to \
work.</p> <p style="margin:0px;text-indent:0px">11. Animation test 2: Ghost. Opacity \
keyframes load but do not save.</p> <p style="margin:0px;text-indent:0px">12. A \
complicated vector file. Same issue as 2, everything else saves/loads just fine.</p> \
<p style="margin:0px;text-indent:0px">13. A layerstyle file. Saving/loading works. \
Autosave not tested.</p> <p style="margin:0px;text-indent:0px"><br></p>
<p style="margin:0px;text-indent:0px">General impression:</p>
<p style="margin:0px;text-indent:0px">----------------</p>
<p style="margin:0px;text-indent:0px">Works pretty well, maybe a bit too well. I was \
for a while there convinced that the autosave functionality was broken, until I \
realised I hadn&#39;t enabled &quot;show hidden files&quot;, and even after that I \
had to check the folder to see if an autosave had happened, because during painting I \
noticed NOTHING.</p><p style="margin:0px;text-indent:0px">I also can&#39;t report \
back on how the cache regeneration and friends work as it happens so fast I don&#39;t \
see a thing.<br></p></div><div class="gmail_extra"><div><div class="h5"><br><div \
class="gmail_quote">On Fri, Jul 7, 2017 at 1:16 PM, Dmitry Kazakov <span \
dir="ltr">&lt;<a href="mailto:dimula73@gmail.com" \
target="_blank">dimula73@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr"><div>Hi, all!<br><br>I have spent quite a lot \
of time on making it work and now it can finally be considered as ready for testing! \
Now all saving operations in Krita can run in background and not interfere with the \
painter&#39;s workflow! :)<br></div><div><br>It means that you can continue to paint \
while saving/autosaving is doing its work :)<br><br>The patch is really huge and \
touches a lot of critical parts of Krita, so I would really like it if some of you \
took courage and tested it :)<br><br>To test the patch, just checkout my branch and \
build as usual:<br><br>git checkout kazakov/async-saving&lt;br&gt;<br><br>What needs \
to be tested:<br>1) Correctness or loading (progress reporting while loading \
doesn&#39;t work (but it never worked))<br>2) Correctness of saving and progress \
reporting while saving. It should at least show &quot;0%&quot; completed (most of our \
export filters don&#39;t know about the progress anything :( )<br>2.1) Please check \
saving of some rare options of .kra, like Guides, Grids, Layer Styles, Selected layer \
and the like.<br clear="all">3) Exporting of the image (and progress reporting as \
well)<br>4) When saving/exporting, file name and \
&quot;modified&quot;/&quot;recovered&quot; flags should be handled correctly<br>5) \
Exporting and Importing animation frames. Progress reporting should work absolutely \
correctly.<br>6) Animation cache regeneration should also have nice progress \
reporting<br><br>I tested all these points myself, bit I could miss some details. \
Please feel free to write your comments here in the mailing list! :)<span \
class="m_6058456480935533813HOEnZb"><font color="#888888"><br><br>-- <br><div \
class="m_6058456480935533813m_7171963497513127617gmail_signature">Dmitry \
Kazakov</div> </font></span></div></div>
</blockquote></div><br><br clear="all"><br></div></div><span class="HOEnZb"><font \
color="#888888">-- <br><div class="m_6058456480935533813gmail_signature" \
data-smartmail="gmail_signature">Wolthera</div> </font></span></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" \
data-smartmail="gmail_signature">Wolthera</div> </div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic