plotly / plotly/plotly.js

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

Abierto
#7,764 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug P3 size: 3
Lenguaje dominante
JavaScript
Estrellas
18.3k
Forks
2k
Merge medio
2 d 12 h
PR fusionados (30 d)
28

Descripción

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

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce el problema con el mock gl2d_parcoords_constraints y el script virtual-webgl añadido a devtools/test_dashboard/index.html. Compara el comportamiento afectado de Chromium con Firefox y con las versiones de Chromium indicadas en el informe, y determina después si las líneas que faltan se originan en Chromium, virtual-webgl o plotly.js; se considera terminado cuando el gráfico se renderiza de forma coherente con virtual-webgl.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript
Área
data-visualization
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Necesita aclaración
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.