jimmejardine / qiqqa-open-source

The open-sourced version of the award-winning Qiqqa research management tool for Windows
GNU General Public License v3.0
366 stars 60 forks source link

Qiqqa does not immediately update all UI interfaces as you work #243

Open GerHobbelt opened 3 years ago

GerHobbelt commented 3 years ago

Container issue for the problem underlying #161 and other observations:


Looks to me like the refresh/update process in Qiqqa is a tad b0rked.

GerHobbelt commented 3 years ago

From the TODO List Project Notes by way of #247, copied here:

Qiqqa sure needs an MVVM/MV* overhaul which takes the distribution of work serious in the software architecture as this is becoming a mess. (Intent: Document/library work in background worker threads, UI thread only does UI I/O + minimal UI-specific work.)

GerHobbelt commented 3 years ago

Note to self: looks like part of the problem is that the background work done in some tasks, which is then finished by a UI update, are severely delayed as they are added to a sometimes already huge SafeThreadPool work queue (my libraries have lots of pending OCR/TextExtract), thus: required work is wiating in the threadpool queue and only gets done once a lot of the other stuff has been completed. Only then, of course, does the UI update happen.

Hence it might be good to look at a prioritized queue where UI-updating tasks get priority over pure background library update work, like OCR/TextExtract of documents which are currently not displayed on screen.

To be investigated further....