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

Issue metadata

Status: Verified
Owner:
Email to this user bounced
Closed: Nov 2013
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment
link

Issue 285066: Jaggy text on channel4.com

Reported by owale@chromium.org, Sep 4 2013 Project Member

Issue description

Application Version (from "Chrome Settings > About Chrome"): 30.0.1599.29 & 31.0.1621.0
Android Build Number (from "Android Settings > About Phone/Tablet"): JWR66Y
Device: Nexus 4

Steps to reproduce: 
1. Go to http://www.channel4.com/4viewers/

Observed behavior: 
'4Viewers' heading & navbar text is jaggy (screenshots to follow)

Expected behavior: 
Text to be rendered correctly

Frequency: 
100%

Additional comments: 
Works as expected in M29
 

Comment 1 by owale@chromium.org, Sep 4 2013

Comment 2 by owale@chromium.org, Sep 4 2013

Similar jagginess observed on inventist.com. Screenshots added to http://go/chrome-androidlogs/285066/

Comment 3 by kamakshi@chromium.org, Sep 4 2013

Cc: aelias@chromium.org klo...@chromium.org
Status: Available

Comment 4 by klo...@chromium.org, Sep 4 2013

Cc: senorblanco@chromium.org
I suspect this is the result of disabling canvas AA as it did in https://code.google.com/p/chromium/issues/detail?id=164719#c32.

We need to figure out our choice.

Comment 5 by srikanth@chromium.org, Sep 4 2013

Cc: jasonlking@chromium.org
Labels: -Restrict-View-Google Hotlist-ConOps
Opening up so we can collect external feedback on this as well. 

Jason - can we also see if anyone is reporting jaggy text on some parts of the page on M30 Beta.

Comment 6 by klo...@chromium.org, Sep 4 2013

FYI, the affected text should be drawn inside the <canvas>.

Comment 7 by jasonlking@chromium.org, Sep 5 2013

There have not been reports of this from Beta users via Report an Issue or in the Chrome Forum. I can reproduce it using the links in comments #0 and #2.

Comment 8 by vinodkr@chromium.org, Sep 12 2013

Labels: -M-30 -ReleaseBlock-Stable M-31

Comment 9 by owale@chromium.org, Sep 12 2013

Both Channel 4 & Inventist appear to be using Cufón (http://cufon.shoqolate.com/). Further examples @ https://github.com/sorccu/cufon/wiki/Demos.

Also affects sites that use typeface.js (http://typeface.neocracy.org/examples.html).

Comment 10 by lagrawal@chromium.org, Oct 4 2013

Labels: Cr-Internals-GPU

Comment 11 by vangelis@chromium.org, Oct 7 2013

Cc: bsalomon@chromium.org
Is there something we should be doing here? Maybe wait until we can enable MSAA for canvas?

Comment 12 by wiltzius@chromium.org, Oct 7 2013

Cc: skyos...@chromium.org
Labels: -Cr-Internals-GPU Cr-Internals-GPU-Canvas2D Cr-Blink-Canvas
I think we decided to leave AA off in M31, is that right Grace?

Meanwhile Brian and Sami were looking at enabling MSAA on tiled GPUs that should make it cheap enough to do.

Out of curiosity, how does this look in other browsers (e.g. Firefox on Android or iOS Safari)?

Comment 13 Deleted

Comment 14 by owale@chromium.org, Oct 8 2013

Screenshots of http://www.channel4.com/4viewers/ in Firefox for Android & Mobile Safari added to http://go/chrome-androidlogs/285066/ - both of which look considerably better than it does in M30.

Comment 15 by bsalomon@chromium.org, Oct 8 2013

Cc: reed@chromium.org
Our choices are either re-enable custom AA or enable MSAA. This feels like a product manager decision to me. We do have some improvements coming for cases where we fall back to SW (less CPU time, smaller upload).

Comment 16 by klo...@chromium.org, Oct 8 2013

Can we check Dolphin on a JB mr2 device?

If MSAA is cheap and fast, we can start to turn it on when it is available. Brian?

Comment 17 by owale@chromium.org, Oct 8 2013

It looks better in Dolphin (10.1.0) than it does in M30 too - screenshot added to http://go/chrome-androidlogs/285066/

Device: Nexus 4
OS: JWR66Y

Comment 18 by klo...@chromium.org, Oct 8 2013

Is it with jetpack? According to #4, they do not anti alias path neither.

Comment 19 by owale@chromium.org, Oct 9 2013

It looks the same in Dolphin both with & without Jetpack enabled.

Comment 20 by bsalomon@chromium.org, Oct 9 2013

Perhaps they've enabled MSAA.


Grace, I believe it is fast and cheap on Mali devices. It *should* be fast and cheap on IMG devices and is in standalone Skia but is very slow when Skia uses it in Chrome. This needs to be diagnosed. Adreno will require exposing ES3 MSAA to Skia via cmd buffer. Note that even on earlier versions of Android (pre K-K) the Andreno driver supports ES3/MSAA and it could be exposed to Skia.

I'm working on adding a flag to enable MSAA (when it is available).

Comment 21 by klo...@chromium.org, Oct 9 2013

Labels: -M-31 M-32
Can QA redo the test mentioned in #4?

Brian, let us turn on AA whenever MSAA is available. M31 seems aggressive, m32 sounds reasonable?

Comment 22 by bsalo...@google.com, Oct 9 2013

SGTM.

Comment 23 by bsalo...@google.com, Oct 9 2013

We could use help from someone on GPU infra. on exposing GL_EXT_framebuffer_multisample/GL_EXT_framebuffer_blit via the command buffer on Android for devices that support ES3 MSAA.

Comment 24 by klo...@chromium.org, Oct 10 2013

Sami, can you help to plumb it through? Thanks.

Comment 25 by candr...@chromium.org, Oct 14 2013

Labels: ReleaseBlock-Stable

Comment 26 by paulir...@chromium.org, Oct 15 2013

 Issue 306288  has been merged into this issue.

Comment 27 by bean...@gmail.com, Oct 23 2013

It appears that AA for *all* vector rendering has been turned off on Chrome for Android. Is that correct? It's devastating to an application we recently launched where we render text ourselves with vector commands on canvas.

Comment 28 by vangelis@google.com, Oct 23 2013

Cc: bajones@chromium.org zmo@chromium.org
Mo, Brandon, does either of you have cycles to add support for GL_EXT_framebuffer_multisample to the cmd-buffer as per Brian's comment #23?

Comment 29 by paulir...@chromium.org, Oct 24 2013

Cc: jakearchibald@chromium.org aerotwist@chromium.org vli@chromium.org
DevRel has been hearing from an increasing number of our top partners on this issue.

I was hoping to see the change was made based on developer performance reports, but unfortunately I'm not seeing that. 

Reading the issue history it appears we regressed the visual fidelity purely for benchmark performance.

Do we have any regression tests that could have caught this?

I've attached some of the screenshots of this issue.
canvas-circle_m29-vs-m30.png
91.9 KB View Download
chrome-racer_m30.png
110 KB View Download
channel4_mobile-safari-vs-m30.png
183 KB View Download
saccade.com[slash]rtor_Dolphin-vs-m30.png
588 KB View Download

Comment 30 by b...@lucidchart.com, Oct 24 2013

Since we render text onto canvases using regular vector commands, our text is basically illegible at most normal sizes now.

We recently launched Lucidpress as a way to publish rich digital content online, particularly for tablets. Our content looked great during development on Android tablets, but now we have recently launched and our published content looks terrible on Android tablets.

For example, here is a simple mostly-text page. Try opening this on an Android device with the current version of Chrome: https://www.lucidpress.com/documents/viewer/4690-51d8-525d6144-beab-0c890a009ec6

We're all confused about how this happened. Everything seemed to work quite well and with decent performance in the previous version of Chrome on Android.

Comment 32 by klo...@chromium.org, Oct 24 2013

Thanks Oliver. Can you also test M29 for the comparison?

Comment 33 by vinodkr@chromium.org, Oct 24 2013

Owner: bsalomon@chromium.org
Status: Assigned

Comment 34 by bsalomon@chromium.org, Oct 24 2013

I want to be clear that turning on MSAA for *all* devices won't happen in M32. In fact some devices don't support MSAA at all. For those cases someone (PM?) needs to make a judgement call whether to revert to the older M29 non-MSAA-but-AA-enabled code path or stick with the current M30/M31 no-AA code path.

Comment 36 by krav...@chromium.org, Oct 24 2013

 Issue 310459  has been merged into this issue.

Comment 37 by cosinuso...@gmail.com, Oct 27 2013

#34 does that mean no antialiasing in M32 for 2012 Nexus 7 (Tegra 3) devices?

Comment 38 by bugdroid1@chromium.org, Oct 29 2013

Project Member
------------------------------------------------------------------------
r231615 | sievers@chromium.org | 2013-10-29T19:33:43.090014Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc?r1=231615&r2=231614&pathrev=231615

Add a basic test for GL_CHROMIUM_framebuffer_multisample

BUG= 285066 
NOTRY=True

Review URL: https://codereview.chromium.org/47743008
------------------------------------------------------------------------

Comment 39 by st...@visokio.com, Nov 6 2013

Our app draws data viz charts on canvases.  It's lost AA on Nexus 7 both 2012 and 2013 and looks terrible.  Chrome 30 Android.

Comment 40 by krav...@chromium.org, Nov 11 2013

 Issue 317175  has been merged into this issue.

Comment 41 by krav...@chromium.org, Nov 12 2013

 Issue 317664  has been merged into this issue.

Comment 42 by klo...@chromium.org, Nov 12 2013

Ok. We will turn back the software AA when MSAA is not available.

Brian, can you remove the flag in android/content_startup_flags.cc to re-enable software aa path? And make sure we will use hw AA when it is available. Thanks.

Comment 43 Deleted

Comment 44 by futr...@gmail.com, Nov 13 2013

You guys should track back how you made this decision to disable AA in the first place because it made all canvas-based web apps and games look like crap on low and mid-range devices.
I hope disabled AA didn't make it into android 4.4 chromium-powered webkit.

Comment 45 by bsalomon@chromium.org, Nov 13 2013

Grace, where should the change be made? Trunk and cherry-pick to M32?

Comment 46 by jasonlking@chromium.org, Nov 14 2013

Cc: -jasonlking@chromium.org

Comment 47 by klo...@chromium.org, Nov 15 2013

The flag change will be for M32..

Comment 48 by bugdroid1@chromium.org, Nov 19 2013

Project Member
------------------------------------------------------------------------
r236024 | sievers@chromium.org | 2013-11-19T19:04:26.633397Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/android/chrome_startup_flags.cc?r1=236024&r2=236023&pathrev=236024
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/shell/app/shell_main_delegate.cc?r1=236024&r2=236023&pathrev=236024

Android: Reenable canvas anti-aliasing

This reverts r213238 (and r227928 which moved things around).

Choose quality ( crbug.com/285066 ) over benchmark scores
(crbug.com/164719).
The long-term solution for both is hw msaa ( crbug.com/314214 ).

BUG= 285066 ,164719
TBR=jochen@chromium.org
NOTRY=True

Review URL: https://codereview.chromium.org/60083017
------------------------------------------------------------------------

Comment 49 by siev...@chromium.org, Nov 19 2013

Labels: Merge-Requested
Requesting merge for r236024 since it's a simple cmdline flag revert.

Comment 50 by vli@chromium.org, Nov 19 2013

Labels: Hotlist-DevRel

Comment 51 by kareng@google.com, Nov 19 2013

Labels: -Merge-Requested Merge-Approved

Comment 52 by bugdroid1@chromium.org, Nov 19 2013

Project Member
Labels: -Merge-Approved merge-merged-1700
------------------------------------------------------------------------
r236067 | sievers@chromium.org | 2013-11-19T23:23:39.894759Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1700/src/chrome/browser/android/chrome_startup_flags.cc?r1=236067&r2=236066&pathrev=236067
   M http://src.chromium.org/viewvc/chrome/branches/1700/src/content/shell/app/shell_main_delegate.cc?r1=236067&r2=236066&pathrev=236067

Merge 236024 "Android: Reenable canvas anti-aliasing"

> Android: Reenable canvas anti-aliasing
> 
> This reverts r213238 (and r227928 which moved things around).
> 
> Choose quality ( crbug.com/285066 ) over benchmark scores
> (crbug.com/164719).
> The long-term solution for both is hw msaa ( crbug.com/314214 ).
> 
> BUG= 285066 ,164719
> TBR=jochen@chromium.org
> NOTRY=True
> 
> Review URL: https://codereview.chromium.org/60083017

TBR=sievers@chromium.org

Review URL: https://codereview.chromium.org/60613006
------------------------------------------------------------------------

Comment 53 by owale@chromium.org, Nov 20 2013

Status: Verified
----Verification Attempt----
App Version: 32.0.1700.22
Device Make/Model/Revision: Nexus 4, Nexus 5, Nexus 7 (2013), Nexus 7 (2012), Nexus 10, Nexus S, Galaxy Nexus, HTC One, Samsung Galaxy S3
Test Case Name That Will Catch Regression: TBD

Steps Performed To Verify Fix:

As per #1, #2, #9, #29, #30,  issue 306288 ,  issue 310459 ,  issue 317175  &  issue 317664  

Verification Succeeded (yes/no): Yes

Comment 54 by coth...@gmail.com, Nov 27 2013

Chrome 32.0.1700.23 Intel Z2560 Clovertrail+ 1.6GHz x86/PowerVR SGX 544MP2@400
http://www.craftymind.com/factory/guimark2/HTML5ChartingTest.html = 6.61FPS
http://www.craftymind.com/factory/guimark2/HTML5GamingTest.html = 16.0FPS
http://www.craftymind.com/factory/guimark2/HTML5TextTest.html = 4.42FPS

Chrome is just unusable.

Sign in to add a comment