plotly / plotly/plotly.js

Heatmap rendering performance when many slider steps

Aperta
#6,533 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug P3 performance
Lingua principale
JavaScript
Stelle
18.3k
Fork
2k
Merge medio
2g 12h
PR unite (30g)
28

Descrizione

Hi,

This one is somehow related to https://github.com/plotly/plotly.js/issues/6521 but slightly different.

  • when working with 1000 slider steps (Plotly slider), the rendering of this heatmap is quite slow (between 1 and 2 frames per second when moving the slider): https://jsfiddle.net/wh1o2pyq/1/

  • When working with 50 slider steps (Plotly slider), the rendering is super fast (more than 10 fps): https://jsfiddle.net/wh1o2pyq/2/

  • When working with 1000 slider steps but with a HTML slider instead of the Plotly slider (<input type="range">), it is super fast: https://jsfiddle.net/5L9ykt76/

TL;DR: Plotly slider with many hundreds of steps seems to be a bottleneck for heatmap rendering

Does this mean the slider itself is re-rendered for each update, making the whole thing slow?

I believe that solving this issue could have massive improvement on the responsiveness of every Plotly/Dash dashboard using sliders :)

Any idea?

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con le tre riproduzioni JSFiddle collegate, confrontando il Plotly slider con 50 e 1000 step con l’HTML range slider. Esegui il profiling degli aggiornamenti dello slider e del rendering della heatmap per identificare il collo di bottiglia; il lavoro è completato quando il Plotly slider da 1000 step risponde in modo sostanzialmente più rapido senza modificare il comportamento riportato della heatmap.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
data-visualization, performance
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.