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

Side by Side Diff: content/common/gpu/gpu_memory_manager.cc

Issue 11475050: Aggressively discard tiles on OS X to see if it improves (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Resolve against HEAD Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/gpu/gpu_memory_manager.h" 5 #include "content/common/gpu/gpu_memory_manager.h"
6 6
7 #if defined(ENABLE_GPU) 7 #if defined(ENABLE_GPU)
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 ++it) { 476 ++it) {
477 ClientState* client_state = *it; 477 ClientState* client_state = *it;
478 GpuMemoryAllocation allocation; 478 GpuMemoryAllocation allocation;
479 if (client_state->has_surface) { 479 if (client_state->has_surface) {
480 allocation.browser_allocation.suggest_have_frontbuffer = 480 allocation.browser_allocation.suggest_have_frontbuffer =
481 !client_state->hibernated; 481 !client_state->hibernated;
482 482
483 // Set the state when visible. 483 // Set the state when visible.
484 allocation.renderer_allocation.bytes_limit_when_visible = 484 allocation.renderer_allocation.bytes_limit_when_visible =
485 bytes_limit_when_visible; 485 bytes_limit_when_visible;
486 // Experiment to determine if aggressively discarding tiles on OS X
487 // results in greater stability.
488 #if defined(OS_MACOSX)
489 allocation.renderer_allocation.priority_cutoff_when_visible =
490 GpuMemoryAllocationForRenderer::kPriorityCutoffAllowNiceToHave;
491 #else
486 allocation.renderer_allocation.priority_cutoff_when_visible = 492 allocation.renderer_allocation.priority_cutoff_when_visible =
487 GpuMemoryAllocationForRenderer::kPriorityCutoffAllowEverything; 493 GpuMemoryAllocationForRenderer::kPriorityCutoffAllowEverything;
494 #endif
488 495
489 // Set the state when backgrounded. 496 // Set the state when backgrounded.
490 bool allow_allocation_when_backgrounded = false; 497 bool allow_allocation_when_backgrounded = false;
491 if (client_state->visible) { 498 if (client_state->visible) {
492 // If the client is visible, then allow it to keep its textures, should 499 // If the client is visible, then allow it to keep its textures, should
493 // it be backgrounded, but only if all textures required to draw will 500 // it be backgrounded, but only if all textures required to draw will
494 // fit in total backgrounded memory limit. 501 // fit in total backgrounded memory limit.
495 allow_allocation_when_backgrounded = 502 allow_allocation_when_backgrounded =
496 client_state->managed_memory_stats.bytes_required < 503 client_state->managed_memory_stats.bytes_required <
497 bytes_backgrounded_available_gpu_memory_; 504 bytes_backgrounded_available_gpu_memory_;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 : client(client), 636 : client(client),
630 has_surface(has_surface), 637 has_surface(has_surface),
631 visible(visible), 638 visible(visible),
632 last_used_time(last_used_time), 639 last_used_time(last_used_time),
633 hibernated(false) { 640 hibernated(false) {
634 } 641 }
635 642
636 } // namespace content 643 } // namespace content
637 644
638 #endif 645 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698