<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'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"><<a href="mailto:griffinvalley@gmail.com" target="_blank">griffinvalley@gmail.com</a>></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 <QForeachContainer> 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't work. Dmitry said he doesn'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<KoUpdater> loadUpdater =  document->progressUpdater()-><wbr>startSubtask(1, "load");</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'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'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'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.</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'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'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'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.</p><p style="margin:0px;text-indent:0px">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.<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"><<a href="mailto:dimula73@gmail.com" target="_blank">dimula73@gmail.com</a>></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'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<br><br><br>What needs to be tested:<br>1) Correctness or loading (progress reporting while loading doesn't work (but it never worked))<br>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 :( )<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 "modified"/"recovered" 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>