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

Issue 650484 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: 2016-11-14
OS: Mac
Pri: 2
Type: Compat



Sign in to add a comment

Software compositing on Mac has flickering due to small swap chain

Reported by siul...@gmail.com, Sep 26 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50

Example URL:

Steps to reproduce the problem:
1. Create account at https://www.icloud.com/ ("Create yours now" link) if not having one
2. Login and goto "Keynote" app
3. Click the "+" button (click "cancel" to repeat many times if needed)

What is the expected behavior?
Dialog eases in on center of the page

What went wrong?
Sometimes it flickers with the login screen background image. See attached video (happened 3 times: 00:03, 00:04, 00:24)

Does it occur on multiple sites: N/A

Is it a problem with a plugin? N/A 

Did this work before? Yes Cannot reproduce with M52

Does this work in other browsers? Yes 

Chrome version: 53.0.2785.116  Channel: stable
OS Version: OS X 10.11.6
Flash Version: 

Somehow it doesn't repro with iMac, just MacBook Air.
 

Comment 1 by siul...@gmail.com, Sep 26 2016

Chrome 53 Flicker.mov
19.6 MB Download
Chrome 53 Flicker.png
455 KB View Download
Cc: krajshree@chromium.org
Labels: Needs-Feedback
Unable to reproduce the issue on MAC 10.11.6 using chrome stable #53.0.2785.116 and latest canary #55.0.2873.0.
Attached a screen cast for your reference.

Following are the steps followed to reproduce the issue.
------------
1. Create account at https://www.icloud.com/
2. Logged into and clicked "Keynote" app
3. Clicked the "+" button and clicked cancel 10 times.
4. Observed that dialog eased in on center of the page as expected.


Reporter@ - Could you please check this issue on chrome stable #53.0.2785.116 and latest canary #55.0.2873.0 by creating a new profile without any apps and extensions and please let us know if the issue still persist or not.
650484.mp4
8.6 MB View Download

Comment 3 by siul...@gmail.com, Sep 28 2016

Yes, issue occurs with Chrome stable #53.0.2785.116 and with canary #55.0.2873.4 by creating a new profile without any apps and extensions.

So far we are only seeing it only on some hardware (MacBookAir4,2) but not iMacs or retina MacBook Pro.
Components: Blink>Compositing
Not sure if this is the correct component, please remove/update if incorrect.
Project Member

Comment 5 by sheriffbot@chromium.org, Oct 6 2016

Labels: -Needs-Feedback Needs-Review
Owner: krajshree@chromium.org
Thank you for providing more feedback. Adding requester "krajshree@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: vollick@chromium.org ccameron@chromium.org
Components: Internals>GPU
Labels: -Needs-Review
Owner: ----
This reminds me of another bug that only manifested on specific MacBook Air machines. https://bugs.chromium.org/p/chromium/issues/detail?id=571256

CCing ccameron@ for insight on what may have changed in Mac rendering M54 to M55.
Labels: Needs-TestConfirmation
Could test try to confirm the issue on the specific hardware (Mac Air)?
Cc: erikc...@chromium.org
Can you attach a PDF print-out of about:gpu from the affected machine?

I wonder if this is because this is on a GPU-blacklisted machine.

It looks very similar to issues where we re-use an IOSurface while the WindowServer is still using it. We're still vulnerable to that issue on GL and software renderer, and we did recently move HD3000 GPUs to software renderer.

Comment 9 by siul...@gmail.com, Oct 31 2016

chrome___gpu.pdf
105 KB Download
Cc: kavvaru@chromium.org
Labels: -Needs-TestConfirmation Needs-Feedback
Unable to reproduce the issue on Mac air 10.116 using chrome latest stable 54.0.2840.71 and canary 56.0.2905.0 with the steps attached in comment #0.
Not observed any flickering while clicking on + button and cancel option.
Please find the attached screen cast for the same.

siulung@Could you please once try the issue on latest stable and update the thread if the issue still persists.

removing Needs-TestConfirmation.please feel free to add if required.

Thanks,
650484.mp4
11.2 MB View Download
NextAction: 2016-11-14
Owner: ccameron@chromium.org
Status: Assigned (was: Unconfirmed)
I need to increase the swap-chain length in SW mode.

Comment 13 by siul...@gmail.com, Nov 15 2016

Yes, we are still seeing it with Chrome 54.0.2840.98 running on macOS 10.12.1 on a 2011 13-inch MacBook Air with Intel HD Graphics 3000 384MB with built-in display at 1440x900 HiDPI resolution. It happens around 30% of the time when the "+" button is clicked.
Labels: -Needs-Feedback
I still need to make the swap chain longer in SW mode.
Summary: Software compositing on Mac has flickering due to small swap chain (was: Random flickering on www.icloud.com)
Cc: dbrownlee@google.com danakj@chromium.org weiliangc@chromium.org reve...@chromium.org
 Issue 715303  has been merged into this issue.
Project Member

Comment 18 by bugdroid1@chromium.org, May 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/469d0548dfb4c3304c03571ba3f0f1a9bc58e2a4

commit 469d0548dfb4c3304c03571ba3f0f1a9bc58e2a4
Author: ccameron <ccameron@chromium.org>
Date: Sat May 06 19:15:44 2017

Use more than double buffering in SoftwareOutputDeviceMac

Previously, this would flip between two buffers, but that had issues
because the IOSurfaces would sometimes still be being read by the
window server while the next frame was writing (leading to flashes).

Change this to a buffer queue very similar to the GPU output surface
BufferQueue. Use the IOSurfaceIsInUse function to ensure that buffers
are not painted to until they are not being read by the window server.

Limit the number of buffers being held in the queue to 4 (determined
empirically). If we need more than 4, then they will thrash (by
frequent allocation and discard). The window server will keep more
than 4 IOSurfaces alive (as many as it needs) regardless of our
purging here.

BUG= 650484 

Review-Url: https://codereview.chromium.org/2866683003
Cr-Commit-Position: refs/heads/master@{#469876}

[modify] https://crrev.com/469d0548dfb4c3304c03571ba3f0f1a9bc58e2a4/content/browser/compositor/software_output_device_mac.h
[modify] https://crrev.com/469d0548dfb4c3304c03571ba3f0f1a9bc58e2a4/content/browser/compositor/software_output_device_mac.mm
[add] https://crrev.com/469d0548dfb4c3304c03571ba3f0f1a9bc58e2a4/content/browser/compositor/software_output_device_mac_unittest.mm
[modify] https://crrev.com/469d0548dfb4c3304c03571ba3f0f1a9bc58e2a4/content/test/BUILD.gn

Status: Fixed (was: Assigned)
Great, will try Monday's canary and see if this resolves the issue I am seeing.
Cc: vmp...@chromium.org ericrk@chromium.org
 Issue 735185  has been merged into this issue.

Sign in to add a comment