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

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

Issue 914403003: cc: Add main frame timing info to frame timing tracker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months 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/trees/single_thread_proxy.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 667 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 678
679 if (!impl().layer_tree_host_impl->settings().impl_side_painting) { 679 if (!impl().layer_tree_host_impl->settings().impl_side_painting) {
680 DCHECK_GT(impl().layer_tree_host_impl->memory_allocation_limit_bytes(), 0u); 680 DCHECK_GT(impl().layer_tree_host_impl->memory_allocation_limit_bytes(), 0u);
681 } 681 }
682 begin_main_frame_state->memory_allocation_limit_bytes = 682 begin_main_frame_state->memory_allocation_limit_bytes =
683 impl().layer_tree_host_impl->memory_allocation_limit_bytes(); 683 impl().layer_tree_host_impl->memory_allocation_limit_bytes();
684 begin_main_frame_state->memory_allocation_priority_cutoff = 684 begin_main_frame_state->memory_allocation_priority_cutoff =
685 impl().layer_tree_host_impl->memory_allocation_priority_cutoff(); 685 impl().layer_tree_host_impl->memory_allocation_priority_cutoff();
686 begin_main_frame_state->evicted_ui_resources = 686 begin_main_frame_state->evicted_ui_resources =
687 impl().layer_tree_host_impl->EvictedUIResourcesExist(); 687 impl().layer_tree_host_impl->EvictedUIResourcesExist();
688 impl().layer_tree_host_impl->SetBeginMainFrameTime(
689 impl().scheduler->LastBeginImplFrameTime());
688 Proxy::MainThreadTaskRunner()->PostTask( 690 Proxy::MainThreadTaskRunner()->PostTask(
689 FROM_HERE, 691 FROM_HERE,
690 base::Bind(&ThreadProxy::BeginMainFrame, 692 base::Bind(&ThreadProxy::BeginMainFrame,
691 main_thread_weak_ptr_, 693 main_thread_weak_ptr_,
692 base::Passed(&begin_main_frame_state))); 694 base::Passed(&begin_main_frame_state)));
693 devtools_instrumentation::DidRequestMainThreadFrame( 695 devtools_instrumentation::DidRequestMainThreadFrame(
694 impl().layer_tree_host_id); 696 impl().layer_tree_host_id);
695 impl().timing_history.DidBeginMainFrame(); 697 impl().timing_history.DidBeginMainFrame();
696 } 698 }
697 699
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 912
911 void ThreadProxy::BeginMainFrameAbortedOnImplThread( 913 void ThreadProxy::BeginMainFrameAbortedOnImplThread(
912 CommitEarlyOutReason reason) { 914 CommitEarlyOutReason reason) {
913 TRACE_EVENT1("cc", "ThreadProxy::BeginMainFrameAbortedOnImplThread", "reason", 915 TRACE_EVENT1("cc", "ThreadProxy::BeginMainFrameAbortedOnImplThread", "reason",
914 CommitEarlyOutReasonToString(reason)); 916 CommitEarlyOutReasonToString(reason));
915 DCHECK(IsImplThread()); 917 DCHECK(IsImplThread());
916 DCHECK(impl().scheduler); 918 DCHECK(impl().scheduler);
917 DCHECK(impl().scheduler->CommitPending()); 919 DCHECK(impl().scheduler->CommitPending());
918 DCHECK(!impl().layer_tree_host_impl->pending_tree()); 920 DCHECK(!impl().layer_tree_host_impl->pending_tree());
919 921
920 if (CommitEarlyOutHandledCommit(reason)) 922 if (CommitEarlyOutHandledCommit(reason)) {
921 SetInputThrottledUntilCommitOnImplThread(false); 923 SetInputThrottledUntilCommitOnImplThread(false);
924 impl().layer_tree_host_impl->RecordMainFrameTiming();
925 }
922 impl().layer_tree_host_impl->BeginMainFrameAborted(reason); 926 impl().layer_tree_host_impl->BeginMainFrameAborted(reason);
923 impl().scheduler->BeginMainFrameAborted(reason); 927 impl().scheduler->BeginMainFrameAborted(reason);
924 } 928 }
925 929
926 void ThreadProxy::ScheduledActionAnimate() { 930 void ThreadProxy::ScheduledActionAnimate() {
927 TRACE_EVENT0("cc", "ThreadProxy::ScheduledActionAnimate"); 931 TRACE_EVENT0("cc", "ThreadProxy::ScheduledActionAnimate");
928 DCHECK(IsImplThread()); 932 DCHECK(IsImplThread());
929 933
930 // Don't animate if there is no root layer. 934 // Don't animate if there is no root layer.
931 // TODO(mithro): Both Animate and UpdateAnimationState already have a 935 // TODO(mithro): Both Animate and UpdateAnimationState already have a
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
1367 impl().scheduler->DidPrepareTiles(); 1371 impl().scheduler->DidPrepareTiles();
1368 } 1372 }
1369 1373
1370 void ThreadProxy::DidCompletePageScaleAnimationOnImplThread() { 1374 void ThreadProxy::DidCompletePageScaleAnimationOnImplThread() {
1371 DCHECK(IsImplThread()); 1375 DCHECK(IsImplThread());
1372 Proxy::MainThreadTaskRunner()->PostTask( 1376 Proxy::MainThreadTaskRunner()->PostTask(
1373 FROM_HERE, base::Bind(&ThreadProxy::DidCompletePageScaleAnimation, 1377 FROM_HERE, base::Bind(&ThreadProxy::DidCompletePageScaleAnimation,
1374 main_thread_weak_ptr_)); 1378 main_thread_weak_ptr_));
1375 } 1379 }
1376 1380
1381 base::TimeTicks ThreadProxy::GetNextBeginImplFrameTimeIfRequested() const {
1382 DCHECK(IsImplThread());
1383 return impl().scheduler->NextBeginImplFrameTimeIfRequested();
1384 }
1385
1377 } // namespace cc 1386 } // namespace cc
OLDNEW
« cc/trees/single_thread_proxy.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