plotly / plotly/plotly.js

Offload chart initalization to web workers

Ouverte
#1,499 19 commentaires 27 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature P3
Langage dominant
JavaScript
Étoiles
18.3k
Forks
2k
Merge moyen
2 j 12 h
PR mergées (30 j)
28

Description

Has it been explored if CPU-intensive tasks like chart initialization can be offloaded to web worker threads?

For example, when I initialize around 20 charts at the same time, I observe a 5 second freeze of the current browser window in Firefox. During this period, I don't see anything drawn to the DOM, so I assume the code that runs could potentially be offloaded to a worker thread, which could then communicate the resulting SVG to the main thread.

I think a change like this could be a great win in terms of user experience.

Also, have a related StackOverflow question.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

L’issue ne mentionne aucun fichier, test ou point d’entrée. Commencez par profiler l’initialisation des graphiques dans Firefox et par retracer le travail effectué pendant la création de plusieurs graphiques. Le travail serait considéré comme terminé lorsqu’une approche définie pour l’initialisation basée sur des workers aura été établie et que des éléments prouveront que le gel du navigateur est réduit.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
data-visualization, frontend, performance
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.