-
Notifications
You must be signed in to change notification settings - Fork 82
Request cancel #340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Request cancel #340
Conversation
* make volumina request tiles more lazy by first submitting to a queue * tasks are submitted up to a limit to the lazyflow request pool * mechanism for cancelling/removing unsubmitted requests from the queue * As compared to before, ilastik will use way less memory (maybe half) This enables way better interactive usage of ilastik as number of requests that are submitted stays limited. Changing conditions (scrolling, dirtyness) trigger cancellation of queued requests that are not relevant anymore. Fixes ilastik#135 Fixes ilastik/ilastik#1735 Fixes ilastik/ilastik#1376, at least to a degree
time.time() is not guaranteed to be unique.
…azyflow, patch rendererpool, probably sequence of test now different so it used to work coincidentally
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #340 +/- ##
==========================================
+ Coverage 36.33% 36.92% +0.59%
==========================================
Files 108 109 +1
Lines 11439 11577 +138
==========================================
+ Hits 4156 4275 +119
- Misses 7283 7302 +19 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
adf6553
to
e88c248
Compare
from volumina.tiling.tileprovider import renderer_pool | ||
|
||
renderer_pool.clear() | ||
QApplication.processEvents() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kind of hard to get consistent full viewport updates, but processEvents()
seems to do the trick
almost everything (except submit) was already operating under a lock, so the locking overhead of PriorityQueue can be omitted. Co-Authored-By: Emil Melnikov <[email protected]>
…azyflow, patch rendererpool, probably sequence of test now different so it used to work coincidentally
e88c248
to
3bd1668
Compare
def clearPendingRequestQueueAndReferesh(self): | ||
from volumina.tiling.tileprovider import renderer_pool | ||
|
||
renderer_pool.clear() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
refactor renderer_pool classes with common abc, as per @btbest's comment:
Expose RequestPool cancellation to ilastik - that way one can e.g. cancel live update.\
builds on top of #339
sister PR in ilastik: ilastik/ilastik#3082