plotly / plotly/plotly.js

[BUG]: Some plots render incorrectly when using virtual-webgl in Chromium browsers

Ouverte
#7,764 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

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

Description

Description

Some plots are rendering incorrectly (missing or muted colors) when using virtual-webgl in Chromium based browsers. This was originally reported in plotly/Kaleido#375.

Screenshots/Video
Without virtual-webgl With virtual-webgl
Image Image

See plotly/Kaleido#375 for more examples.

Steps to reproduce
  • Start plotly.js devtools
  • Open the mock 'gl2d_parcoords_constraints'
  • Note that there are number of dark red lines on the left side of the plot
  • Edit devtools/test_dashboard/index.html to include the following <script> tag in the body
    <script src="../../node_modules/virtual-webgl/src/virtual-webgl.js"></script>
    
  • Reload the mock
  • Note that a few of the dark red lines are now missing
Notes
  • This bug was discovered when development of Kaleido v1 started
  • The previous version of Kaleido (v0.2.1) used Chromium v88. Kaleido v1 uses the installed Chromium version (usually a pretty recent one).
  • At some point between the release of Chromium v88 and Chrome v112 (the oldest Chrome for Testing available here), the bug was introduced
  • It's unclear if it's a bug in Chromium, a bug in virtual-webgl, or a bug in plotly.js
  • Firefox doesn't have the issue, though colors do appear to render a differently for some plots when using/not using virtual-webgl
  • Chromium v147 shows the following console warnings when using virtual-webgl:
    virtual-webgl.js:389 WebGLRenderingContext.canvas is not supported
    (anonymous) @ virtual-webgl.js:389
    (anonymous) @ virtual-webgl.js:1008
    virtual-webgl.js:389 WebGLRenderingContext.drawingBufferColorSpace is not supported
    (anonymous) @ virtual-webgl.js:389
    (anonymous) @ virtual-webgl.js:1008
    virtual-webgl.js:389 WebGLRenderingContext.unpackColorSpace is not supported
    (anonymous) @ virtual-webgl.js:389
    (anonymous) @ virtual-webgl.js:1008
    virtual-webgl.js:389 WebGLRenderingContext.drawingBufferFormat is not supported
    (anonymous) @ virtual-webgl.js:389
    (anonymous) @ virtual-webgl.js:1008
    
  • Firefox v145 shows the following console warnings when using virtual-webgl:
    WebGLRenderingContext.canvas is not supported <anonymous code>:formatted:8942:27
    WebGLRenderingContext.drawingBufferColorSpace is not supported <anonymous code>:formatted:8942:27
    WebGLRenderingContext.unpackColorSpace is not supported <anonymous code>:formatted:8942:27
    
  • virtual-webgl support was added in plotly.js in #6784

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

Reproduisez le problème avec le mock gl2d_parcoords_constraints et le script virtual-webgl ajouté à devtools/test_dashboard/index.html. Comparez le comportement affecté de Chromium avec Firefox et avec les versions de Chromium indiquées dans le rapport, puis déterminez si les lignes manquantes proviennent de Chromium, de virtual-webgl ou de plotly.js ; la tâche est terminée lorsque le graphique est rendu de manière cohérente avec virtual-webgl.

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

Évaluation

Stack technique
javascript
Domaine
data-visualization
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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