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

Issue 867014 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 868761
Owner:
Closed: Jul 30
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Large performance regression in WebRTC hardware acceleration on multi-GPU with multiple monitors

Project Member Reported by mar...@chromium.org, Jul 24

Issue description

Chrome Version: 67.0.3396.99
OS Version: OS X 10.13.6

What steps will reproduce the problem?
1. Get a MBP 15 Mid-2012 (16GB of RAM). It has a nvidia GeForce GT 650M (1GB) and a Intel 4000 with 1.5Gb allocated to it.
2. Connect 3 monitors 1920x1200, one over HDMI, two over the thunderbolt powers via TB->DVI adaptors. They are in portrait.
3. Use Hangout VC (old or new one, doesn't matter) via Chrome.

What is the expected result?
Works great.

What happens instead of that?
Since approximatively two months ago, the kernel CPU usage becomes so high during video conferencing that the video jitters a lot, *independent of the video quality*. With the Activity Monitor I can see that it's doing something dumb in kernel mode as most time is spent there, likely copying data around. It takes a moment to fully degrade in performance, sometimes takes few minutes to fully degrade in performance.

I can't pinpoint if it is due to a macOS upgrade (I think it started around 10.13.4) or Chrome upgrade, as I can't revert any of the two. :/

Workaround:
- Unplugging two monitors, so that only one external display is used, fixes the problem. Keeping the HDMI one uses significantly more CPU than one over Thunderbolt. My other option I suspect is to get a new one, albeit the touchbar... so I'd like to see if there's a way to resolve this before. :)

I know this is a very #firstworldproblem :) I'm reporting because I suspect this may hide a lower level regression in the way GPU resources are allocated for video encoding/decoding.
 
Components: Blink>WebRTC
maruel@, could you repro with:
  https://appr.tc?debug=loopback
and
  https://appr.tc?debug=loopback&vrc=H264&vsc=H264

this would help the WebRTC peeps debug if the codec (h264 is
hardware accelerated on Mac) and/or the Hangouts use of the
resources has something to do.
 
Both work great with relatively little kernel CPU use. So it looks like it's takes more than just a webrtc connection to reproduce the issue.

I forgot to note but I don't think it's material to this issue: I'm using an external Logitech C920 webcam, not the laptop's webcam.
Components: Internals>WebRTC
I know this may be painful but can you bisect this with the internal per-revision bisect script?
https://sites.google.com/a/google.com/chrome-te/home/tools/bisect_builds

This operates on official builds.

Owner: mar...@chromium.org
Status: Assigned (was: Untriaged)
Thanks, will try to do it next week. Taking ownership in the meantime.
Status: WontFix (was: Assigned)
I'll mark as WontFix, as it's not just WebRTC that is slow, general Chrome browser windowing is sluggish even with low CPU utilization, so I think the fact that VC'ing is unbearable is only a side effect. I'll try to get a new laptop instead.
Mergedinto: 868761
Status: Duplicate (was: WontFix)
Sorry for the difficulty. For what it's worth ccameron@ and I have both noticed Chrome behaving poorly on these older NVIDIA based MacBook Pros when the discrete GPU is active. It looks like Chris just filed a bug about this so let me duplicate this into it for bookkeeping.

FTR, I'll be stuck with this laptop for several weeks as a replacement is not readily available.
Out of curiosity, does --disable-gpu-memory-buffer-compositor-resources fix it?
Trying. There's definitely something about Chrome browser lifetime as when I restart it it becomes much faster for a certain period of time, which makes debugging this issue more tricky.
It definitely increased CPU usage upon startup but I can't assess about jerkiness. Confirmed the flag is active in about:version.
Will run with --disable-gpu-memory-buffer-compositor-resources and will report late tomorrow once I've done actual VCs and used it for a while.
Are these logs expected?

~/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-gpu-memory-buffer-compositor-resources
[9264:775:0730/135232.149667:ERROR:configuration_policy_handler_list.cc(91)] Unknown policy: NTPContentSuggestionsEnabled
2018-07-30 13:52:32.861 Google Chrome[9264:6382097] *** Owner supplied to -[NSTrackingArea initWithRect:options:owner:userInfo:] referenced a deallocating object. Tracking area behavior is undefined. Break on NSTrackingAreaDeallocatingOwnerError to debug.
[9264:128003:0730/135238.309581:ERROR:external_policy_data_updater.cc(263)] The fetched data doesn't match the expected hash.
[9264:775:0730/135241.932817:ERROR:location_bar_view_mac.mm(212)] Not implemented reached in virtual void LocationBarViewMac::UpdateFindBarIconVisibility()
[9264:20739:0730/135242.826853:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
[9264:20739:0730/135242.828281:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
[9264:20739:0730/135242.830115:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
[9264:20739:0730/135242.830882:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
[9264:20739:0730/135242.836412:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
[9264:20739:0730/135242.837089:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
[9264:20739:0730/135242.943201:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
[9264:20739:0730/135242.944607:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /Applications/Google Chrome.app/Contents/Versions/68.0.3440.75/Google Chrome Framework.framework/Resources/chrome_renderer.service
2018-07-30 13:52:51.275 Google Chrome[9264:6382097] *** Owner supplied to -[NSTrackingArea initWithRect:options:owner:userInfo:] referenced a deallocating object. Tracking area behavior is undefined. Break on NSTrackingAreaDeallocatingOwnerError to debug.
[9264:34819:0730/135252.761322:ERROR:binary_integrity_analyzer_mac.cc(28)] Could not initialize mac signature evaluator
[9271:775:0730/135323.699507:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/135323.700297:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/135323.700623:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/135323.700993:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9317:80907:0730/135327.574800:ERROR:peerconnection.cc(4310)] channel label not found
[9271:775:0730/135412.185073:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/135412.185193:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/135412.185329:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/135412.185523:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
2018-07-30 13:54:13.356 Google Chrome Helper[9287:6382401] Couldn't set selectedTextBackgroundColor from default ()
[9271:775:0730/135422.202718:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/135422.202830:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/135422.202973:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/135422.203191:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140001.464934:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140001.466289:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140001.466582:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140001.467111:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140013.602525:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140013.602744:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140013.602963:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140013.603273:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140014.702159:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140014.702371:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140014.702595:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140014.702833:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140014.703042:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140014.703725:ERROR:gles2_cmd_decoder.cc(18008)] [.DisplayCompositor-0x7fb5051fd800]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[9271:775:0730/140014.704045:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[9271:775:0730/140014.704280:ERROR:gles2_cmd_decoder.cc(10115)] [.DisplayCompositor-0x7fb5051fd800]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.

Yeah, it's issue 864905.

Sign in to add a comment