GPU Discardable Memory |
||||
Issue descriptionIn Chrome, browser and renderer processes make heavy use of GPU memory. Each browser or renderer has its own caches, each cache with its own memory limits. As there is no central controller, cache limits must be chosen conservatively, assuming that many caches may be live simultaneously. This leads to inefficient use of memory. Not only is the upper limit on memory mostly unconstrained, but a renderer or browser performing heavy GPU work is given the same cache limits as one performing light work. This bug tracks the implementation of “Discardable GPU Memory”. This is memory that: - Can be unlocked by a client (renderer/browser), allowing the GPU process to delete it at-will. - Is stored in a single cache in the GPU process, allowing for a global eviction policy. These features allow the GPU process to maintain a single cache of GPU memory from multiple clients, deleting objects as necessary to enforce a global GPU memory limit. See this doc for more info: https://docs.google.com/document/d/1WoatXUZ7utZeKNcpOt3LXFPCc6STcmrtYqmgkZPrjds/edit?usp=sharing
,
Apr 24 2017
,
May 31 2017
,
Jun 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/40936ad890a7edf653ab7a7603f914037afceeb7 commit 40936ad890a7edf653ab7a7603f914037afceeb7 Author: Eric Karl <ericrk@chromium.org> Date: Mon Jun 26 21:32:30 2017 Threadsafe lock GPU Discardable Adds a pair of functions: ContextSupport::ThreadSafeShallowLockDiscardableTexture and ContextSupport::CompleteLockDiscardableTextureOnContextThread When used together, these functions allow a caller to lock a discardable GPU texture without holding the context lock. This is useful when the result of such a lock operation will determine whether GPU work needs to scheduled. Bug: 438325, 706456 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I0e110c4325fa1989a642d3c5281f85b2c3988b58 Reviewed-on: https://chromium-review.googlesource.com/544043 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Cr-Commit-Position: refs/heads/master@{#482414} [modify] https://crrev.com/40936ad890a7edf653ab7a7603f914037afceeb7/cc/test/test_context_support.cc [modify] https://crrev.com/40936ad890a7edf653ab7a7603f914037afceeb7/cc/test/test_context_support.h [modify] https://crrev.com/40936ad890a7edf653ab7a7603f914037afceeb7/gpu/command_buffer/client/context_support.h [modify] https://crrev.com/40936ad890a7edf653ab7a7603f914037afceeb7/gpu/command_buffer/client/gles2_implementation.cc [modify] https://crrev.com/40936ad890a7edf653ab7a7603f914037afceeb7/gpu/command_buffer/client/gles2_implementation.h
,
Oct 2 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by bugdroid1@chromium.org
, Mar 30 2017