[BUG]: `scattergl` hover is slow above 100k points
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 58/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript
- Ambito
- data-visualization, performance
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- JavaScript
- Stelle
- 18.4k
- Fork
- 2.1k
- Merge medio
- 1g 5h
- PR unite (30g)
- 12
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di plotly/plotly.js
-
[BUG]: `sankey`: `node.x` / `node.y` of `0` is ignoredForse già presa @adimalkar l’ha presa 2 giorni fa. Apertabug P3 size: 1
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
plotly/plotly.js#8150 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
[BUG]: `scatterpolargl` drops points between 10000 and 100000 pointsForse già presa @Tanishdete333 l’ha presa 2 giorni fa. Apertabug P3 size: 1
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
plotly/plotly.js#8148 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
[BUG]: findEmpties throws "iterated with no new neighbors" for large NaN regions in contour (double-precision underflow)Forse già presa @davrens101 l’ha presa 1 giorno fa. Apertabug P3 size: 3
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
plotly/plotly.js#8108 · 4 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
chore P3 plotly-internal size: 3 task
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
plotly/plotly.js#8064 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
chore P1 plotly-internal size: 1 task
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di plotly/plotly.js
Issue simili
-
good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
modrollstudio/Modroll-Studio-Website#80 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
area: panel enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
GabrielGirardi/ledge#7 ·
-
0. Needs triage 35-feedback bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
A-linter
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
oxc-project/oxc#28783 ·
I maintainer di solito rispondono entro 1 giorno