Open Bug 1984966 Opened 1 year ago Updated 1 year ago

Demo at https://codepen.io/seanfree/pen/oNgvyQo spends a lot of time in TypedArray and Flot32

Categories

(Core :: Graphics: CanvasWebGL, task)

task

Tracking

()

People

(Reporter: mayankleoboy1, Unassigned)

References

(Blocks 1 open bug, )

Details

Go to https://codepen.io/seanfree/pen/oNgvyQo

Firefox: https://share.firefox.dev/4oT4nMT
Chrome: https://share.firefox.dev/45OFkC5

Not 100% sure if we are slower because of JS or webgl/canvas/
Feel free to close as WONTFIX if there is nothing obvious.

Severity: -- → S3
Priority: -- → P3

Looking at time spent in render, it seems like V8 is spending ~5% of their time in webgl code (mostly doing a memcpy for bufferData), while we're spending closer to 20% (14% doing a memcpy for bufferData, 5% waiting for a message in getProgramInfoLog). The time spent in TypedArraySlice/TypedArraySet seems more proportional.

I think that the getProgramInfoLog calls are here in three.js setup code that is doing debug checks. I would expect production code to have debug checks turned off, so this might not be that important.

It's not clear to me why V8's implementation of bufferData is any faster. In both engines, it's just doing a memcpy. Maybe a WebGL person will have more insight?

Component: JavaScript Engine → Graphics: CanvasWebGL

The component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit BugBot documentation.

Priority: P3 → --
You need to log in before you can comment on or make changes to this bug.