[vlc-devel] [PATCH v2 00/13] Execute medialib queries out of the UI thread
Romain Vimont
rom1v at videolabs.io
Thu Nov 26 17:54:24 CET 2020
On Thu, Nov 26, 2020 at 05:10:32PM +0100, Romain Vimont wrote:
> v1: https://mailman.videolan.org/pipermail/vlc-devel/2020-November/140488.html
>
> Changes since v1:
> - fix ListCacheBase/BaseListCache rename in the middle of the patchset
> (patches 5 and 11)
> - fix crash on thumbnail generated if there is no cache (patch 6)
> - make "internal" Runnable an inner-class private to AsyncTask (patch 10)
> - remove useless includes (patch 11)
> - change members visibility (patch 5)
I forgot to give a status about the remaining work listed in v1:
> There is still some work related to asynchronous loading:
> - the UI should show that some background tasks are running (to let the user
> know that the visible data is not up-to-date)
I added (on a local branch) a property/signal/slot on the model to know
if something if some loading is pending. I don't know how we want to
present that in the UI, so nothing is plugged to it for now.
> - a "cache miss" item should be designed (currently, it shows "unknown
> name" with a cone)
How should we present that? I think a small circle/loading icon for each
item would be fine.
> - the cache strategy is suboptimal (if items of consecutive cache
> pages are visible simultaneously, the cache will invalidate its data
> on each refresh);
It's not a priority for now, it "works".
> - there are still "small" freezes sometimes (~250ms), but not always, when
> updating the UI list once the database query result is available; it
> requires more investigations
I'm currently investigating. There are also other SQL accesses from the
main thread (in network/ for example, I don't know if it's related).
> - the list model abstract class (MLSlidingWindowModel) is templated, causing
> big compilation times on every change (which probably does not work the cost,
> since the concrete classes use QVariant to expose the data to Qt anyway)
I've changed that locally. I will propose a separate patchset later.
Regards
More information about the vlc-devel
mailing list