bokeh / bokeh

Interactive Data Visualization in the browser, from Python
https://bokeh.org
BSD 3-Clause "New" or "Revised" License
19.41k stars 4.19k forks source link

Improve responsiveness when hovering over many points #10234

Closed MarcSkovMadsen closed 4 years ago

MarcSkovMadsen commented 4 years ago

My Pain

I would like to use Bokeh plots in my applications but sometimes they feel slow and sluggish.

An example of this is plots with many points. The many points by them selves is not the main problem. The main problem is hovering.

If the users hovers over the Bokeh plot it becomes unresponsive and my fan turns on.

I suspect its due to collecting and showing tool tips for many points

My fear is that my users turn away from my apps because they appear slow or dead.

Example

https://ferret.pmel.noaa.gov/osmc/dashboard

I hover and the drag the plot. The first time its OK responsive. The second time it takes 10 secs before the plot moves.

bokeh-slow

Another Example

Its the same problem at awesome-panel.org in the Kickstarter Dashboard. If I want to select some points to filter on the hovering often steps in first and I have to wait 5-10 secs for the plot to respond.

image

Solution

Fix this :-) For example by

FYI @philippjfr

mattpap commented 4 years ago

https://ferret.pmel.noaa.gov/osmc/dashboard

For me it hangs as soons I attempt to use the hover tool. Hover tool/Tooltips are currently extremely inefficient, primarily due to inefficient manipulation of DOM nodes. When that's solved, we will be able to look into further optimizations, e.g. doing computations off main thread.

setting a max on the number of points to show hover information for.

Various policies, like limiting the number of entries showed, were supposed to be implemented for awhile now (issue #9087).

github-actions[bot] commented 1 month ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.