-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
[BUG] Hover tool takes long time to render #11629
Comments
Unfortunately, the issue still persists: Bokeh 2.3.3 (left) vs Bokeh 2.4.1 (right): 2021-10-18-17-29-20.mp4Minimal reproducible example:
2021-10-18-18-01-53.mp4 |
Version 2.4.1 "fixed" the slow hover for my scenario (line graph) in general. However, when I plot a large amount of data, the hover tool rendering slows down the overall UI; I think as the user slides the mouse across the plot, the hover is trying to render and then when the mouse continues off the plot, hover is still computing, the user presses a button (off plot) and the UI is slow to respond. I found that if hover tool is disabled, the UI (button) is responsive. I tried to review the fix to see if I could suggest an improvement, but I failed. |
Hi, I still can see the performance issue. I was using 2.4.0 and now I just updated to 2.4.2. Still the performance is still poor. Is working but with a big amount of data the delay is really insane. @sistemicorp describe it quite well. I would like to let it open this issue until this performance issue is clarify |
@antoniomolram I can't reproduce any issue with the original 50k point line-based MRE in the OP, nor can I reproduce any issue with the huge 300k point heatmap MRE added later, which is why this issue was closed. If you are seeing an issue with some other usage pattern, please open a new issue referring to this one. But note it is absolutely necessary that you provide a complete Minimal Reproducible Example. We cannot investigate what we cannot reproduce.
@sistemicorp Most glyphs use a fast RTree-based spatial index that is much faster even than binary search. If there are any issues, it is not with indexing. Same advice to you you: We cannot investigate what we cannot reproduce. A complete minimal reproducer is always necessary for this kind of issue. |
For reference here is Bokeh 2.4.2 and the 300k point heatmap (OSX/Safari) What does "big amount of data" mean? 30k points? 300k? Or do you mean something like 3 million points? If so that is out of scope for Bokeh and you should look at tools like DataShader. But I have no idea which case you might have. Concrete details are always important and necessary up front in order to prevent a lot of needless and time-consuming back and forth and speculation. |
hi, yes, is more an 4M points. But for me the interesting part is if a disable the hover is fine, I can zoom the data and is working fine. What maybe can be useful is an option to click the data and see the hover information instead of showing the data just moving the mouse around. |
and about the example if I find time and will publish it with random data. I need to generate the random data first. |
You could implement a |
Screen.Recording.2022-01-29.at.16.07.37.mp4I believe this is a HoloViews issue, that's why I created it there (holoviz/holoviews#5198), though it might be related somehow Update: import bokeh
import numpy as np
import pandas as pd
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
output_notebook()
n = 30000
ds = pd.DataFrame({'x': np.random.rand(n), 'y': np.random.rand(n), 'z': np.random.rand(n)})
p = figure(tooltips=[('x', '@x'), ('y', '@y'), ('z', '@z')])
p.scatter('x', 'y', source=ds, hover_color='red')
show(p) |
Possible regression from bokeh ver 2.3.0 to 2.4.0.
Python 3.8. Chrome Version 93.0.4577.82 (Official Build) (64-bit). Ubuntu 20.
The hover tool is lightening fast to render in v2.3.0, but is very slow in 2.4.0 for the same minimal example.
Chrome Inspect console:
The text was updated successfully, but these errors were encountered: