Hi Vlad,<div><br></div><div>you mean the QQuickAsyncImageProvider? That one sounds really promising. Will definitely try that out. Many thanks for the suggestion!</div><div><br></div><div>Bernhard<br><br>Am Donnerstag, 10. August 2017 schrieb Vlad Stelmahovsky :<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">threaded image provider might help</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 10, 2017 at 12:36 PM, Bernhard B <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','schluchti@gmail.com');" target="_blank">schluchti@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<div><br></div><div>yesterday, I also tried to replace the Base64ImageProvider approach with a subclassed QQuickPaintedItem which paints the image in it's paint method. I imagined that this approach might be faster es no bade64 decoding needs to be done. But unfortunately it looks like as it's performing even worse that way.</div><div><br></div><div>Bernhard<br><br>Am Mittwoch, 9. August 2017 schrieb Bernhard B :<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<div><br></div><div>I would need some help from you guys on how to improve the ListView's performance. The problem is, that scrolling through my ListView sometimes feels a little bit sluggish. </div><div><br></div><div>If I only display some text in the ListView's delegate I can scroll smoothly through my list. But as soon as there is a picture in the ListView's delegate I notice that I can't scroll smoothly through my list anymore. That's especially noticable if I try to scroll fast through my list. Every time I hit a picture while scrolling through the list I can see that there is a noticable delay until the picture is fully loaded. My assumption is, that those pictures are the reason why he scrolling feels so sluggish.</div><div><br></div><div>My application currently works like this:</div><div><br></div><div>* load 20 pictures via REST (pictures are base64 encoded)</div><div>* populate list model</div><div>* the Image component in the delegate uses a Base64ImageProvider (self written) to access the model's base64 encoded content and displays the image</div><div>* if the user scrolls past a threshold another batch of base64 encoded pictures is fetched from the server</div><div><br></div><div>I also found this document: <a href="http://doc.qt.io/qt-5/qtquick-performance.html#rendering" target="_blank">http://doc.qt.io/qt-<wbr>5/qtquick-performance.html#ren<wbr>dering</a> and tried to apply as much as possible. In detail I applied the following changes:</div><div><br></div><div>* removed complex bindings from delegate</div><div>* set sourceSize property for Image</div><div>* increased cacheBuffer a bit</div><div>* profiled with QML profiler and improved a few things</div><div><br></div><div>But still, the ListView feels a bit sluggish. The strange thing is, that it's most noticable on Android whereas on Windows and iOs it is better.</div><div><br></div><div>Does anyone have an idea on how to improve that? </div><div><br></div><div><br></div><div>Any help is really appreciated.</div><div>Thanks a lot!</div>
</blockquote></div>
<br>______________________________<wbr>_________________<br>
Interest mailing list<br>
<a href="javascript:_e(%7B%7D,'cvml','Interest@qt-project.org');" target="_blank">Interest@qt-project.org</a><br>
<a href="http://lists.qt-project.org/mailman/listinfo/interest" rel="noreferrer" target="_blank">http://lists.qt-project.org/ma<wbr>ilman/listinfo/interest</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div data-smartmail="gmail_signature"><div dir="ltr">Best regards,<div>Vlad</div></div></div>
</div>
</blockquote></div>