[BUG]: `scattergl` hover is slow above 100k points
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 58/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- javascript
- Domaine
- data-visualization, performance
Piste de recherche
Start by comparing the hover path in src/traces/scattergl/hover.js with the threshold and point-cluster tree behavior in src/traces/scattergl/constants.ts; reproduce the lag with the provided 100,000 point example and compare it with 99,999 points. Determine why the .range() call is slow with infinite or wide bounds, then verify hover remains responsive at and above the threshold.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
With 100,000 or more points, hovering over a scattergl trace is much slower than with 99,999 points.
Steps to reproduce
- Open Plotly devtools and paste the following into the browser devtools console:
let n = 100000;
Plotly.newPlot('graph', [{
type: 'scattergl',
mode: 'markers',
x0: 0,
dx: 1,
y: Array(n).fill(0)
}]);
- Hover over individual points and note the lag
- Change
nto99999and note that hover is fast
Notes
- At
TOO_MANY_POINTS(src/traces/scattergl/constants.ts),scatterglswitches from a plain array to the point-cluster tree - The slow call is
.range()insrc/traces/scattergl/hover.js - It's very slow with infinite bounds; it also seems slower than a plain array scan when the bounds cover a large share of the points
- Either
hover.jscalls.range()in a non-optimal way, orplotly/point-clusterhas a performance bug - #8052 stops the plot from freezing, but hover is still laggy
- Also related to #8036
- Langage dominant
- JavaScript
- Étoiles
- 18.4k
- Forks
- 2.1k
- Merge moyen
- 1 j 5 h
- PR mergées (30 j)
- 12
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de plotly/plotly.js
-
[BUG]: `sankey`: `node.x` / `node.y` of `0` is ignoredPeut-être pris @adimalkar l’a pris il y a 2 jours. Ouvertebug P3 size: 1
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
plotly/plotly.js#8150 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
[BUG]: `scatterpolargl` drops points between 10000 and 100000 pointsPeut-être pris @Tanishdete333 l’a pris il y a 2 jours. Ouvertebug P3 size: 1
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
plotly/plotly.js#8148 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
[BUG]: findEmpties throws "iterated with no new neighbors" for large NaN regions in contour (double-precision underflow)Peut-être pris @davrens101 l’a pris il y a 1 jour. Ouvertebug P3 size: 3
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
plotly/plotly.js#8108 · 4 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
chore P3 plotly-internal size: 3 task
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
plotly/plotly.js#8064 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
chore P1 plotly-internal size: 1 task
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de plotly/plotly.js
Issues similaires
-
bug confirmed js v6
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
BUG
Difficulté 1/5 1-3 heures Accessibilité débutants 90/100
linuxmint/cinnamon-spices-applets#9223 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
nopSolutions/nopCommerce#8440 ·
Les mainteneurs répondent en général sous 1 jour
-
follow-up
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour