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

Side by Side Diff: cc/trees/thread_proxy.cc

Issue 811523002: Added ability to dynamically toggle frame throttling in the scheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« cc/scheduler/scheduler.cc ('K') | « cc/trees/thread_proxy.h ('k') | 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 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 "cc/trees/thread_proxy.h" 5 #include "cc/trees/thread_proxy.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 } 180 }
181 181
182 void ThreadProxy::SetVisibleOnImplThread(CompletionEvent* completion, 182 void ThreadProxy::SetVisibleOnImplThread(CompletionEvent* completion,
183 bool visible) { 183 bool visible) {
184 TRACE_EVENT1("cc", "ThreadProxy::SetVisibleOnImplThread", "visible", visible); 184 TRACE_EVENT1("cc", "ThreadProxy::SetVisibleOnImplThread", "visible", visible);
185 impl().layer_tree_host_impl->SetVisible(visible); 185 impl().layer_tree_host_impl->SetVisible(visible);
186 impl().scheduler->SetVisible(visible); 186 impl().scheduler->SetVisible(visible);
187 completion->Signal(); 187 completion->Signal();
188 } 188 }
189 189
190 void ThreadProxy::SetThrottleFrameProduction(bool throttle) {
191 TRACE_EVENT1("cc", "ThreadProxy::SetThrottleFrameProduction", "throttle",
192 throttle);
193 Proxy::ImplThreadTaskRunner()->PostTask(
194 FROM_HERE,
195 base::Bind(&ThreadProxy::SetThrottleFrameProductionOnImplThread,
196 impl_thread_weak_ptr_, throttle));
197 }
198
199 void ThreadProxy::SetThrottleFrameProductionOnImplThread(bool throttle) {
200 TRACE_EVENT1("cc", "ThreadProxy::SetThrottleFrameProductionOnImplThread",
201 "throttle", throttle);
202 impl().scheduler->SetThrottleFrameProduction(throttle);
203 }
204
190 void ThreadProxy::DidLoseOutputSurface() { 205 void ThreadProxy::DidLoseOutputSurface() {
191 TRACE_EVENT0("cc", "ThreadProxy::DidLoseOutputSurface"); 206 TRACE_EVENT0("cc", "ThreadProxy::DidLoseOutputSurface");
192 DCHECK(IsMainThread()); 207 DCHECK(IsMainThread());
193 layer_tree_host()->DidLoseOutputSurface(); 208 layer_tree_host()->DidLoseOutputSurface();
194 209
195 { 210 {
196 DebugScopedSetMainThreadBlocked main_thread_blocked(this); 211 DebugScopedSetMainThreadBlocked main_thread_blocked(this);
197 212
198 // Return lost resources to their owners immediately. 213 // Return lost resources to their owners immediately.
199 BlockingTaskRunner::CapturePostTasks blocked( 214 BlockingTaskRunner::CapturePostTasks blocked(
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1334 1349
1335 impl().timing_history.DidActivateSyncTree(); 1350 impl().timing_history.DidActivateSyncTree();
1336 } 1351 }
1337 1352
1338 void ThreadProxy::DidPrepareTiles() { 1353 void ThreadProxy::DidPrepareTiles() {
1339 DCHECK(IsImplThread()); 1354 DCHECK(IsImplThread());
1340 impl().scheduler->DidPrepareTiles(); 1355 impl().scheduler->DidPrepareTiles();
1341 } 1356 }
1342 1357
1343 } // namespace cc 1358 } // namespace cc
OLDNEW
« cc/scheduler/scheduler.cc ('K') | « cc/trees/thread_proxy.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698