New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 770310 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Canvas animations stutter on iMac Retina 5K with Radeon R9 M390

Project Member Reported by joaodasilva@chromium.org, Sep 29 2017

Issue description

+cc people from issues  613272  and  614468  because about:gpu references them.

Chrome Version: 61.0.3163.91
OS version: 10.12.6

1. open test.html
2. click and press left and right to move the box
3. expect smooth movement

The box stutters on my iMac. It's a 27-inch 5K Retina with a Radeon R9 M390.

Same problem in Canary (63.0.3227.0). The animation is smooth in Safari and Firefox on the same machine.

Also tried on an old Macbook Pro with a Intel Iris Pro 1536 MB and it's smooth in every browser there, including Chrome.

The salient differences in about:gpu are "CheckerImaging: Disabled" and "Rasterization: Software only, hardware acceleration unavailable" in the iMac. Force-enabling "GPU rasterization" in about:flags doesn't make a difference.

FWIW the FPS meter from the devtools shows consistent 60 FPS and there's nothing fishy in the performance inspector either. But the stuttering is quite noticeable and very jarring.

I'm available to try patches on this machine and run performance/stability tests, if needed.
 
test.html
1.7 KB View Download
gpu_imac_m390.html
98.9 KB View Download
gpu_mbp_retina.htm
52.4 KB View Download

Comment 1 by junov@chromium.org, Sep 29 2017

Labels: -Pri-2 -M-65 M-63 Pri-1
Owner: junov@chromium.org
Status: Assigned (was: Untriaged)
Could you capture a trace and attach it to this bug?

In Chrome 61, could you try disabling "Color correct rendering" to see if that affects performance?

Since this is a very noticeable perf regression (it sounds?), I am increasing the priority.

I have this model of iMac as a Home computer.  I will look at this issue from home next week.

When you say "stutter" do you mean like frames are being displayed out of order? If so, try applying this patch locally:
https://chromium-review.googlesource.com/c/chromium/src/+/579690
What kind of trace did you mean? I've attached a Javascript+Rendering trace from about:tracing. Do you need another one?

Enabling or disabling "Color correct rendering" didn't make a difference.

The stuttering is definitely noticeable but I don't know if it's a regression.

The box seems to jump ahead a bit more than it should about 5-10% of the frames. Looking more carefully, it does seem like frames are rendering out of order. There is a "tail" ghost behind the box whenever it jumps, which may be caused by the ooo frame.

I can try the patch but it will take a while to prepare a build :-) OTOH, the Canary at 63.0.3227.0 has the same problem (and already includes that patch.) FWIW the Canary doesn't have the "Color correct rendering" flag.
trace_trace.json.gz
4.8 MB Download
As expected, the build from head has the same problems and already includes [1].

[1] https://chromium-review.googlesource.com/c/chromium/src/+/579690

Comment 4 by junov@chromium.org, Oct 2 2017

Components: -Internals>GPU>Canvas2D Blink>Canvas

Comment 5 by junov@chromium.org, Oct 2 2017

Components: -Internals>GPU -Blink>Canvas -Internals>GPU>Rasterization Internals>GPU>Scheduling
Labels: -Pri-1 Pri-2
Owner: ----
Status: Available (was: Assigned)
> FWIW the Canary doesn't have the "Color correct rendering" flag.
I know that's why I asked to try it on M61.

Okay, so this is not a regression AFAICT.

I can confirm that I am able to repro on iMac 27" Retina 5K/ AMD Radeon R9 M390.

There is nothing fishy with the trace.  The one I was able to generate locally look pretty much the same as the one in #2.

I tried running with --disable-2d-canvas-image-chromium (hardware overlay mode) and there was still stuttering.  

After observing the problem closely: I am pretty sure we are not dealing with frames being out of order (that type of artifact is easy to recognize because the animation janks backwards when it happens).  What we have is more likely a case of dropped/doubled frames.  This should not be happening when the system is under such light load.

This looks like a problem with vsync alignment IMHO

Re-triaging as a GPU scheduling issue.
Project Member

Comment 6 by sheriffbot@chromium.org, Oct 2

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Hotlist-Recharge-Cold
Status: Available (was: Untriaged)

Sign in to add a comment