Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Issue 11516014: Track managed memory usage in the command buffer. (Closed)

Created:
8 years ago by ccameron
Modified:
8 years ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, apatrick_chromium
Visibility:
Public.

Description

Track managed memory usage in the command buffer. This adds infrastructure necessary to support tracking which allocations are through the compositor (or, more generally, any managed allocator that the GPU memory manager affect) and allocations that are not (e.g, WebGL). This is part of a scheme which will add a GL extension where the compositor can mark a texture as being managed by a call to glTexParameteri. This information had previously been tracked by an IPC being sent by the compositor to the GPU process informing it of the managed memory usage (in addition to the usage required for all visible content, etc). This had the two problems. First, the information was not accurate -- the data sent about managed allocations to the GPU memory manager would always lag the actual allocations. Second, these IPCs were expensive and needed to be throttled. The more we throttle the IPCs, the less accurate the information would become, making the GPU memory manager's behavior less precise and predictable. BUG=164947 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=172754

Patch Set 1 #

Patch Set 2 : Resolve against HEAD #

Total comments: 6

Patch Set 3 : Incorporate review feedback #

Patch Set 4 : Fix unit test compile error #

Unified diffs Side-by-side diffs Delta from patch set Stats (+186 lines, -110 lines) Patch
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 1 chunk +4 lines, -2 lines 0 comments Download
M content/common/gpu/gpu_memory_manager.h View 1 3 chunks +12 lines, -2 lines 0 comments Download
M content/common/gpu/gpu_memory_manager.cc View 1 2 5 chunks +26 lines, -10 lines 0 comments Download
M content/common/gpu/gpu_memory_manager_unittest.cc View 1 2 3 1 chunk +4 lines, -1 line 0 comments Download
M content/common/gpu/gpu_memory_tracking.h View 2 chunks +6 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/buffer_manager.h View 3 chunks +3 lines, -9 lines 0 comments Download
M gpu/command_buffer/service/buffer_manager.cc View 1 2 4 chunks +10 lines, -13 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 9 chunks +22 lines, -8 lines 0 comments Download
M gpu/command_buffer/service/memory_tracking.h View 1 2 2 chunks +36 lines, -14 lines 0 comments Download
M gpu/command_buffer/service/renderbuffer_manager.h View 1 2 2 chunks +3 lines, -9 lines 0 comments Download
M gpu/command_buffer/service/renderbuffer_manager.cc View 1 2 4 chunks +10 lines, -14 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 6 chunks +13 lines, -9 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 7 chunks +37 lines, -17 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
ccameron
This is towards taking WebGL (and canvas, etc) memory into account when distributing GPU memory ...
8 years ago (2012-12-10 22:29:38 UTC) #1
Zhenyao Mo
On 2012/12/10 22:29:38, ccameron1 wrote: > This is towards taking WebGL (and canvas, etc) memory ...
8 years ago (2012-12-11 00:32:30 UTC) #2
ccameron
Thanks!! I've re-resolved against HEAD. apatrick/gman, could you do an OWNER review?
8 years ago (2012-12-11 20:29:51 UTC) #3
greggman
just some style nits lgtm https://codereview.chromium.org/11516014/diff/3001/content/common/gpu/gpu_memory_manager.cc File content/common/gpu/gpu_memory_manager.cc (right): https://codereview.chromium.org/11516014/diff/3001/content/common/gpu/gpu_memory_manager.cc#newcode268 content/common/gpu/gpu_memory_manager.cc:268: case gpu::gles2::MemoryTracker::Managed: style: case ...
8 years ago (2012-12-12 07:17:47 UTC) #4
ccameron
Thanks!! https://codereview.chromium.org/11516014/diff/3001/content/common/gpu/gpu_memory_manager.cc File content/common/gpu/gpu_memory_manager.cc (right): https://codereview.chromium.org/11516014/diff/3001/content/common/gpu/gpu_memory_manager.cc#newcode268 content/common/gpu/gpu_memory_manager.cc:268: case gpu::gles2::MemoryTracker::Managed: On 2012/12/12 07:17:47, greggman wrote: > ...
8 years ago (2012-12-12 21:12:32 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ccameron@chromium.org/11516014/10003
8 years ago (2012-12-12 21:14:32 UTC) #6
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
8 years ago (2012-12-12 21:41:14 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ccameron@chromium.org/11516014/9005
8 years ago (2012-12-12 22:27:24 UTC) #8
commit-bot: I haz the power
8 years ago (2012-12-13 01:16:50 UTC) #9
Message was sent while issue was closed.
Change committed as 172754

Powered by Google App Engine
This is Rietveld 408576698