New issue
Advanced search Search tips

Issue 604127 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 597107
Owner: ----
Closed: Apr 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Canvas2D regression with clips

Reported by m...@m28.io, Apr 16 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36

Example URL:
http://diep.io/

Steps to reproduce the problem:
1. Visit game, with any user agent which is not Chrome's (the code will be skipped for chrome users because of this bug)
2. Level up (just hit a few of those squares)
3. The stats thing on the left renders very incorrectly, being weirdly clipped

What is the expected behavior?
Render just like any browser, without the weird clipping there is.

What went wrong?
The clipping is all weird, some weird regression happened in the last release.

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes 

Chrome version: 50.0.2661.75  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 21.0 r0

This regression happened between the version I'm submitting in, and 49.0.2623.112 m (version that I was before, which worked).

This is the snippet of canvas 2d commands (in C++, but they're compiled into javascript commands which translate 1 for 1 with the actual canvas 2d stuff) that are disabled for Chrome because of this bug:

ctx->Save();
ctx->BeginPath();
ctx->Arc(x + w, y, ScreenSpace(statSize / 2 - 2), -M_PI/2, M_PI/2, false);
ctx->LineTo(x + w - pw, y + fillHeight / 2);
ctx->LineTo(x + w - pw, y - fillHeight / 2);
ctx->LineTo(x + w, y - fillHeight / 2);
ctx->Clip();
ctx->FillColor(Color(0xFFFFFF));
ctx->SetAlpha(0.3);
ctx->Rect(x - fillHeight / 2, y - fillHeight / 2, w + fillHeight, shinyHeight);
ctx->Fill();
ctx->Restore();
 

Comment 1 by m...@m28.io, Apr 16 2016

To expand: Everything that runs after this code, even though the Save/Restore is there, gets clipped or something else that just looks weird.

Comment 2 by m...@m28.io, Apr 16 2016

Attaching comparison of rendering with firefox vs chrome.
chrome_2016-04-16_15-07-09.png
18.0 KB View Download
firefox_2016-04-16_15-07-43.png
43.8 KB View Download
Components: -Blink Blink>Canvas

Comment 4 by m...@m28.io, Apr 17 2016

Might be related to #603815

Comment 5 by junov@chromium.org, Apr 18 2016

Any chance you are using an AMD GPU?

I think this may be the same as  issue 597107 

Comment 6 by m...@m28.io, Apr 18 2016

I am, it might be. Several of my users have experienced the same issue but I have not asked them what GPU they use.

Comment 7 by m...@m28.io, Apr 18 2016

But notice that in the other issue, it was already present in M49, while this one appeared between the two version I mentioned.

Comment 8 by junov@chromium.org, Apr 18 2016

It was also reported that the issue got worse in Chrome 50.

Comment 9 by m...@m28.io, Apr 18 2016

Yep, probably a duplicate of that then.

Comment 10 by junov@chromium.org, Apr 18 2016

Mergedinto: 597107
Status: Duplicate (was: Unconfirmed)
The bug is in Chrome's DirectX9 backend.  In Chrome 50, we expanded the number of AMD driver versions that are blacklisted for DirectX11 to workaround a crasher bug in the driver. This means that in Chrome 50, there is a larger number of AMD GPU users that are falling back to Chrome's DX9 code path, which is why more people are now experiencing this clipping bug.  A fix is on the way...

Sign in to add a comment