Bug 1831609 Comment 8 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Markus Stange [:mstange] from comment #7)
> Ah, nice, that probably explains why the testcase I attached to this bug runs much better today than when I filed this bug.
> 
> Then I wonder how the overproduction problem shown in the profiles from bug 1879824 comment 7 can be addressed. Do we have to dynamically adapt the maximum size based on the observed consumption rate?

Possibly, if I drop the max buffers to 64 or even 32 for bug 1879824, the animation appears to run more smoothly.
It might be good if we had a more intelligent way of throttling the JS in these circumstances, instead of stopping the main thread in its tracks.

I can't work out why it is so slow.
The CPU is doing a fair amount of work, but doesn't appear to be maxing out on one thread.
The GPU also doesn't appear that taxed, with a small amount on one of the smaller engines in process explorer.
It mainly seems to be sitting in the function FillRoundedRectangleTessellator::SendGeometry and below, most of that in RoundedRectangleTessellationSink::AddBeziers and below.
(In reply to Markus Stange [:mstange] from comment #7)
> Ah, nice, that probably explains why the testcase I attached to this bug runs much better today than when I filed this bug.
> 
> Then I wonder how the overproduction problem shown in the profiles from bug 1879824 comment 7 can be addressed. Do we have to dynamically adapt the maximum size based on the observed consumption rate?

Possibly, if I drop the max buffers to 64 or even 32 for bug 1879824, the animation appears to run more smoothly.
It might be good if we had a more intelligent way of throttling the JS in these circumstances, instead of stopping the main thread in its tracks.

I can't work out why it is so slow.
The CPU is doing a fair amount of work, but doesn't appear to be maxing out on one thread.
The GPU also doesn't appear that taxed, with a small amount on one of the smaller engines in process explorer.
It mainly seems to be sitting in the function FillRoundedRectangleTessellator::SendGeometry and below, most of that in RoundedRectangleTessellationSink::AddBeziers and below.

Update: to future readers, looks like the reasons are set out in bug 1879824 comment 11 and bugs that it links to.

Back to Bug 1831609 Comment 8