Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Avoid event accumulation in webagg backend.#27160
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 ourterms of service andprivacy 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?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Comments from call:
attn@ianhi |
ghost commentedSep 25, 2024
I am using an interactive ipympl widget in an application, that would profit a lot from blitting, so i have been waiting for this PR to be merged. Thank you for the promising work done. |
Hey, just a quick comment from my side: I am happy if someone takes over in the meantime, otherwise I'll try to continue working on it as soon as i find some time (best guess is sometime early next year). @sjmarwitz you could also monkey-patch the fix in the meantime to check if it does the job for you... I implemented a workaround forEOmaps ( seehere) |
ghost commentedSep 26, 2024 • edited by ghost
Loading Uh oh!
There was an error while loading.Please reload this page.
edited by ghost
Uh oh!
There was an error while loading.Please reload this page.
@raphaelquast Thanks for your quick response and for pointing me to your monkey-path fix. I tried it and immediately hit the problem with ipympl, that was already mentioned in the PR summary. Actually, when using ipympl, after the initial display of a figure, it won't update the canvas/figure, not even zooming or panning is possible. It seems, no 'ack' messages are being received (and sent?). I would have liked to contribute a fix somehow, given the limited amount of time i have, but looking into the ipympl code, i got lost, as i don't "speak" js and the like and are not familiar with web technologies. |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
# Keep track of the number of received ack messages. | ||
if self._num_received_images is None: | ||
self._num_received_images = 0 # To support no "ack" messages. |
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.
Don't know what this comment means.
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
PR summary
This PR is intended to address the problem of event-accumulation during image-processing in the
webagg
backendwhich can result in an extreme lag that makes "fast updated" events like
motion_notify_event
etc. unusable at the moment.Not 100% sure, but this might also improve problems concerning blitting in jupyter-notebooks (e.g.#19116) but would require sending
"ack"
messages inipympl
. The implementation is made in a way such thatipympl
(or more generally backends that don't send"ack"
messages) are not affected.The following gifs show the outcome of this change: (left: current behavior,right: result of this PR)
🐍 code to run example
PR checklist