-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Suboptimal performance when rendering large amount of traces #1535
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Another question is since we are using Shader, why it looks all the points are plotted sequentially? Correct me if I am wrong, one of the biggest advantages of using Shader is to leverage the parallel computing paradigm of GPU. |
Thanks for the very detailed report! We could indeed optimize Performance for graphs with numerous traces is probably plotly.js' Achilles heel at the moment (not just WebGL based traces). |
@etpinard Thanks for the reply! I will try to group the traces first. And I looked into a non-gl
May I ask the specific reason for that "Achilles heel", like the piece of leaf? Thanks! |
Addressed in #1555 This is of course not the end of our multi-trace performance problems ... |
Here is the testing script
I kept the total data points fixed, and tested different combinations of amount of traces and amount of data points per trace:
You could see that 5000 traces needs 17 seconds to render even it only renders 5000 markers in total. But for the case of only 1 trace, scattergl could use that 17 seconds to render over 10 million markers!
And by looking into the code I found that for each trace we created a Scene2D and a Shader, which get the shader reference and rebuild program. Is there anything we can optimize here?
The text was updated successfully, but these errors were encountered: