You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Chromium browsers only allow 16 webgl contexts for a browser instance. This operates across all associated windows and tabs. We have been using the scattergl plotly type to render scatter plot data points, since it can handle a larger number than the svg implementation. When faceting is enabled, we can easily hit the upper limit of 16 webgl contexts, since we currently create individual plotly instance for each facet value. As a temporary solution, we switched to using the svg implementation when faceting is enabled. This is not optimal, since we may end up rendering too many points for the browser to handle with the svg implementation.
Also, in Firefox, at least, scatter point plots can mysteriously disappear from the page altogether if you leave a tab and come back after some time period. It's quite disconcerting!
We need to explore alternative, more robust solutions. Some possibilities that come to mind:
Allow plotly to render all of the facets in a single plotly instance. This is probably the most robust solution, but requires re-implementing the current layout directly in plotly.
Note Faceting: individual FacetedPlot types #259, in which we will have a FacetedXYPlot component. This would be the natural place to change the current approach we are taking with faceting, using FacetedPlot.
Determine an upper limit of data points for the svg implementation of scatter, and use that to determine if a subplot should use it or scattergl. In addition, we probably want to detect when a webgl context is thrown away and offer the user a mechanism to reload the plot or page. This could likely lead to a lot of code complexity.
@dmfalke we're investigating possible solutions to plotly/plotly.js#2333 on behalf of a customer, but it's likely to be a big project so if VEuPathDB has any interest in co-sponsoring the work that would make it more likely to proceed. Please DM me [email protected] if there's interest.
@alexcjohnson thank you for reaching out. I'm not sure we're equipped to co-sponsor. I will raise this with my supervisor and DM you if this is something we can do. Thanks again!
Chromium browsers only allow 16 webgl contexts for a browser instance. This operates across all associated windows and tabs. We have been using the
scattergl
plotly type to render scatter plot data points, since it can handle a larger number than the svg implementation. When faceting is enabled, we can easily hit the upper limit of 16 webgl contexts, since we currently create individual plotly instance for each facet value. As a temporary solution, we switched to using the svg implementation when faceting is enabled. This is not optimal, since we may end up rendering too many points for the browser to handle with the svg implementation.Also, in Firefox, at least, scatter point plots can mysteriously disappear from the page altogether if you leave a tab and come back after some time period. It's quite disconcerting!
We need to explore alternative, more robust solutions. Some possibilities that come to mind:
FacetedPlot
types #259, in which we will have aFacetedXYPlot
component. This would be the natural place to change the current approach we are taking with faceting, usingFacetedPlot
.See related issues
The text was updated successfully, but these errors were encountered: