summaryrefslogtreecommitdiffstats
path: root/content/renderer/gpu/compositor_thread.cc
diff options
context:
space:
mode:
authorccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-24 08:17:49 +0000
committerccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-24 08:17:49 +0000
commit156b272fe18856ab28f1b3240b9d10fbd087db98 (patch)
treec37791c9e835eb4c3adacde9f32aa88a5f2bf877 /content/renderer/gpu/compositor_thread.cc
parent3027cf00745e50a1c8ea4f00e7778db3067cfb83 (diff)
downloadchromium_src-156b272fe18856ab28f1b3240b9d10fbd087db98.zip
chromium_src-156b272fe18856ab28f1b3240b9d10fbd087db98.tar.gz
chromium_src-156b272fe18856ab28f1b3240b9d10fbd087db98.tar.bz2
Add non-uniform memory management policy for impl-side painting.
The policy is as follows: Make note of three allocation levels -- nice-to-have (which includes substantial prepainting for compositors), required (which is just what is visible for compositors), and minimum (a constant). If the nice-to-have level for all clients can fit in memory, then set the allocation for the clients to be their nice-to-have level. If the nice-to-have level for all clients cannot fit in memory, but the required level can, then impose a cap on the nice-to-have memory that each client can have. This cap will affect only the clients that have the most nice-to-have-but-not-required memory first, and as it is lowered it will impact all clients, until only the required memory level is allowed. Similarly, if the required level for all clients cannot fit in memory, then impose a cap on the required memory that will first impact the clients with the highest requirements. A discussion of the rationale for the policy is as follows: In the case where there is one particularly content-heavy visible tab and a few content-light visible tabs. This will cause content to be dropped (or made low-res) only in the content-heavy tab first, so one pathologically expensive tab won't harm the rendering of the other tabs. If all visible tabs have similar requirements, then the treatment will be more uniform. Note that none of this code is enabled yet. This new policy will be used with impl-side painting, and hopefully will replace the current policy (which distributes memory uniformly), but both are existing side-by-side to be conservative. BUG=168413 Review URL: https://chromiumcodereview.appspot.com/11948002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178553 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/gpu/compositor_thread.cc')
0 files changed, 0 insertions, 0 deletions