Re: Issue 251409 in chromium: Threaded compositing + Disable GPU VSync Causes each tab to use 100% of a single CPU

36 views
Skip to first unread message

chro...@googlecode.com

unread,
Jun 19, 2013, 3:19:35 AM6/19/13
to chromi...@chromium.org
Updates:
Labels: Cr-Internals-Compositing

Comment #1 on issue 251409 by smok...@chromium.org: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

(No comment was entered for this change.)

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

chro...@googlecode.com

unread,
Jun 20, 2013, 3:35:22 AM6/20/13
to chromi...@chromium.org
Updates:
Cc: apatr...@chromium.org jba...@chromium.org

Comment #2 on issue 251409 by vang...@chromium.org: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Does this happen even if you open a completely static page (a page with no
invalidations)?

chro...@googlecode.com

unread,
Jun 20, 2013, 3:48:22 AM6/20/13
to chromi...@chromium.org

Comment #3 on issue 251409 by ultimate...@gmail.com: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Interesting, any chrome:// URL's I go to in the chrome://chrome-urls/ list
or a normal file:///C:\*.txt txt file from my local drive doesn't cause the
100% CPU behaviour for me :) Sounds like you're on the right track.

chro...@googlecode.com

unread,
Jun 20, 2013, 10:18:04 PM6/20/13
to chromi...@chromium.org
Updates:
Labels: -Pri-2 Pri-3

Comment #5 on issue 251409 by wiltz...@chromium.org: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

The threaded compositor without vsync isn't a configuration we're ever
going to support or ship, so I don't think this is terribly important. I
agree that our behavior here is pretty wrong, but again since this isn't a
mode in which the product is meant to be used I'm lowering priority.

chro...@googlecode.com

unread,
Jun 21, 2013, 12:19:58 AM6/21/13
to chromi...@chromium.org

Comment #6 on issue 251409 by ultimate...@gmail.com: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Sounds like a shame, implying the VSync puts an artificial limit on
bandwidth testing and threading efficiency too.
Even if not to be fixed as a "feature" at least fixing it to let the
compositor<=>rendering engine interface to run at its maximum speed which
does not create a race condition when disabled is good for testing if the
system has any bottlenecks etc.
But I guess I'll keep VSync on and let threading be default but threading
just seems inefficient as it currently is which also make the problem too
complex to tackle and ignore it for now until it ever causes real problems
later in the future :P

Tis a shame too since Chrome's 60+FPS looks WAY better than 60FPS, which
doesn't sound logical to me so maybe chrome's FPS meter isn't accurate??

Heres to hoping you'll fix the race sometime soon anyway :) G'night.

chro...@googlecode.com

unread,
Jun 25, 2013, 5:25:31 AM6/25/13
to chromi...@chromium.org
Updates:
Cc: brian...@chromium.org

Comment #7 on issue 251409 by vang...@chromium.org: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Maybe I misread your initial bug report. Are you saying that if you
disable vsync the page fails to load or that it uses 100% of the CPU but
still renders fine?

chro...@googlecode.com

unread,
Jun 25, 2013, 9:10:28 AM6/25/13
to chromi...@chromium.org

Comment #8 on issue 251409 by ultimate...@gmail.com: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Well oddly (and sadly) it still loads, it just destroys all interactivity
and performance benefit it should give, I made a screenshot for you to see
more clearly what I mean. Simply starting with Threading Enabled/Default
makes CPU usage skyrocket and I explicitly Disable Threading since without
Threading everything honestly feels so much nicer.

http://imgur.com/a4dCrKJ

That is how it behaves, and each thread that shows 100% CPU are deadlocked
by 2 of those wait for single object pairs. They are probably unneeded
since their is an atomic interlocked exchange/add there too which seems
weird as the atmoic exchange/add is way better than trying to thread, maybe
their trying to do the same thing and deadlocking?

chro...@googlecode.com

unread,
Jun 25, 2013, 9:18:28 AM6/25/13
to chromi...@chromium.org

Comment #9 on issue 251409 by ultimate...@gmail.com: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

I disable Threading Compositing because it allows me to have no VSync, and
THAT is why I sacrifice Threaded compositing since no VSync honestly makes
Chromium noticeably feel a lot better to browse with vs with threaded
compositing.

It would be truly nice to not have such crazy behaviour, get threaded
compositing AND not be limited by my screen VSync refresh rate, as I can
feel it. Please fix :)

chro...@googlecode.com

unread,
Jun 25, 2013, 1:35:09 PM6/25/13
to chromi...@chromium.org

Comment #11 on issue 251409 by ultimate...@gmail.com: Threaded compositing
+ Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

I'd call it a dupe of mine :P
But I done a trace with one background tab open (this page) and yes I get a
similar look in my trace file, even thought the OS's are different I seem
to be triggering this bug only when disabling VSync (allowing above 60FPS)
AND making it be in the background, once I focus the tab, the 100% CPU core
usage goes down to almost nothing as desired to help you narrow down it's
cause.
See this is a worthy bug and I'd say their probably related.

Attachments:
Issue 251409-Trace1.7z 544 KB

chro...@googlecode.com

unread,
Jun 26, 2013, 4:26:40 AM6/26/13
to chromi...@chromium.org

Comment #12 on issue 251409 by dongseon...@intel.com: Threaded compositing
+ Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Issue 253543 is fixed, so I guess Window chrome would be find also.
Please can anyone have a chance to check it in Window8?

chro...@googlecode.com

unread,
Jul 8, 2013, 6:37:05 AM7/8/13
to chromi...@chromium.org
Updates:
Labels: Needs-Feedback

Comment #13 on issue 251409 by manoranj...@chromium.org: Threaded
compositing + Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

ultimate.evil@, Could you please check this issue with latest chrome on
windows machine?

Thanks in advance.

chro...@googlecode.com

unread,
Jul 8, 2013, 4:54:04 PM7/8/13
to chromi...@chromium.org

Comment #17 on issue 251409 by dongseon...@intel.com: Threaded compositing
+ Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Hi, thx for detailed explanation and screenshot.
However, I can not reproduce in Ubuntu 64bit, so it is very hard to guess
what is problem. I also used
https://air.mozilla.org/metacircular-vm-layering/ like screenshot.

Could you capture video like http://youtu.be/tg5r_WF2hCQ ?
This video was captured for Issue 253543, and chrome://tracing shows what
functions infinitely called.

chro...@googlecode.com

unread,
Jul 8, 2013, 7:08:22 PM7/8/13
to chromi...@chromium.org

Comment #19 on issue 251409 by vang...@chromium.org: Threaded compositing
+ Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

Brian, is this the same as the bug where the background tabs kept ticking
the compositor?

chro...@googlecode.com

unread,
Jul 9, 2013, 2:14:50 AM7/9/13
to chromi...@chromium.org

Comment #20 on issue 251409 by dongseon...@intel.com: Threaded compositing
+ Disable GPU VSync Causes each tab to use 100% of a single CPU
http://code.google.com/p/chromium/issues/detail?id=251409

@ultimate.evil Ah, thx. I missed your tracing file.

The tracing file said that Document has issue, rather than cc.
There are infinite calls to Document::recalcStyle().
As you mentioned, pre-rendered pages seem to have issue.

Attachments:
Chromium-Rev210305 for Issue # 251409-Threaded=On & VSync=ON.png 51.1 KB

chro...@googlecode.com

unread,
Aug 21, 2014, 4:21:47 PM8/21/14
to chromi...@chromium.org

Comment #28 on issue 251409 by ultimate.evil: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
https://code.google.com/p/chromium/issues/detail?id=251409

Hi @brianderson I haven't looked at this in for so long but of course I
found something when looking...
Chrome Stable doesn't seem to show this problem but Canary does when
setting the --disable-gpu-vsync mainly and the --show-fps-counter to easily
see the effect.
Navigate to https://air.mozilla.org/intern-presentations-september-bouvier/
or any of their video pages and you'll see the FPS in the hundreds, I
really don't know if it's the same bug but it is triggered by disabling
vsync and cpu usage does max out a domain thread.

I'll attach a screenshot and a trace of switching to the tab as the
currently showing tab incase a trace may help you.

Attachments:
vsync-bug.png 177 KB
chrome-trace-2014-08-21.7z 633 KB

chro...@googlecode.com

unread,
Aug 21, 2014, 7:29:11 PM8/21/14
to chromi...@chromium.org
Updates:
Status: Fixed

Comment #29 on issue 251409 by brian...@chromium.org: Threaded
compositing + Disable GPU VSync Causes each tab to use 100% of a single CPU
https://code.google.com/p/chromium/issues/detail?id=251409

Disabling vsync will peg the CPU by design when the page is active. I do
see the fps drop to 0 when the page becomes inactive or to ~30fps when
there's only a video updating, so I think it is working as intended.

Going to mark as fixed. Please re-open if you find anything else.

chro...@googlecode.com

unread,
Aug 21, 2014, 8:03:11 PM8/21/14
to chromi...@chromium.org

Comment #30 on issue 251409 by ultimate.evil: Threaded compositing +
Disable GPU VSync Causes each tab to use 100% of a single CPU
https://code.google.com/p/chromium/issues/detail?id=251409

OK, I imagine most people don't alter the vsync behaviour anymore either
since it was removed from about:flags and only exists in the form of a cli
option.
Reply all
Reply to author
Forward
0 new messages