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

Side by Side Diff: cc/debug/rendering_stats_instrumentation.cc

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « cc/debug/rendering_stats_instrumentation.h ('k') | cc/input/input_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/debug/rendering_stats_instrumentation.h" 5 #include "cc/debug/rendering_stats_instrumentation.h"
6 6
7 namespace cc { 7 namespace cc {
8 8
9 // static 9 // static
10 scoped_ptr<RenderingStatsInstrumentation> 10 scoped_ptr<RenderingStatsInstrumentation>
11 RenderingStatsInstrumentation::Create() { 11 RenderingStatsInstrumentation::Create() {
12 return make_scoped_ptr(new RenderingStatsInstrumentation()); 12 return make_scoped_ptr(new RenderingStatsInstrumentation());
13 } 13 }
14 14
15 RenderingStatsInstrumentation::RenderingStatsInstrumentation() 15 RenderingStatsInstrumentation::RenderingStatsInstrumentation()
16 : record_rendering_stats_(false) { 16 : record_rendering_stats_(false) {
17 } 17 }
18 18
19 RenderingStatsInstrumentation::~RenderingStatsInstrumentation() {} 19 RenderingStatsInstrumentation::~RenderingStatsInstrumentation() {}
20 20
21 RenderingStats::MainThreadRenderingStats 21 RenderingStats RenderingStatsInstrumentation::impl_thread_rendering_stats() {
22 RenderingStatsInstrumentation::main_thread_rendering_stats() {
23 base::AutoLock scoped_lock(lock_);
24 return main_thread_rendering_stats_;
25 }
26
27 RenderingStats::ImplThreadRenderingStats
28 RenderingStatsInstrumentation::impl_thread_rendering_stats() {
29 base::AutoLock scoped_lock(lock_); 22 base::AutoLock scoped_lock(lock_);
30 return impl_thread_rendering_stats_; 23 return impl_thread_rendering_stats_;
31 } 24 }
32 25
33 RenderingStats RenderingStatsInstrumentation::GetRenderingStats() { 26 RenderingStats RenderingStatsInstrumentation::GetRenderingStats() {
34 base::AutoLock scoped_lock(lock_); 27 base::AutoLock scoped_lock(lock_);
35 RenderingStats rendering_stats; 28 RenderingStats rendering_stats;
36 rendering_stats.main_stats = main_thread_rendering_stats_accu_; 29 rendering_stats = impl_thread_rendering_stats_accu_;
37 rendering_stats.main_stats.Add(main_thread_rendering_stats_); 30 rendering_stats.Add(impl_thread_rendering_stats_);
38 rendering_stats.impl_stats = impl_thread_rendering_stats_accu_;
39 rendering_stats.impl_stats.Add(impl_thread_rendering_stats_);
40 return rendering_stats; 31 return rendering_stats;
41 } 32 }
42 33
43 void RenderingStatsInstrumentation::AccumulateAndClearMainThreadStats() {
44 base::AutoLock scoped_lock(lock_);
45 main_thread_rendering_stats_accu_.Add(main_thread_rendering_stats_);
46 main_thread_rendering_stats_ = RenderingStats::MainThreadRenderingStats();
47 }
48
49 void RenderingStatsInstrumentation::AccumulateAndClearImplThreadStats() { 34 void RenderingStatsInstrumentation::AccumulateAndClearImplThreadStats() {
50 base::AutoLock scoped_lock(lock_); 35 base::AutoLock scoped_lock(lock_);
51 impl_thread_rendering_stats_accu_.Add(impl_thread_rendering_stats_); 36 impl_thread_rendering_stats_accu_.Add(impl_thread_rendering_stats_);
52 impl_thread_rendering_stats_ = RenderingStats::ImplThreadRenderingStats(); 37 impl_thread_rendering_stats_ = RenderingStats();
53 } 38 }
54 39
55 base::TimeTicks RenderingStatsInstrumentation::StartRecording() const { 40 base::TimeTicks RenderingStatsInstrumentation::StartRecording() const {
56 if (record_rendering_stats_) { 41 if (record_rendering_stats_) {
57 if (base::TimeTicks::IsThreadNowSupported()) 42 if (base::TimeTicks::IsThreadNowSupported())
58 return base::TimeTicks::ThreadNow(); 43 return base::TimeTicks::ThreadNow();
59 return base::TimeTicks::HighResNow(); 44 return base::TimeTicks::HighResNow();
60 } 45 }
61 return base::TimeTicks(); 46 return base::TimeTicks();
62 } 47 }
63 48
64 base::TimeDelta RenderingStatsInstrumentation::EndRecording( 49 base::TimeDelta RenderingStatsInstrumentation::EndRecording(
65 base::TimeTicks start_time) const { 50 base::TimeTicks start_time) const {
66 if (!start_time.is_null()) { 51 if (!start_time.is_null()) {
67 if (base::TimeTicks::IsThreadNowSupported()) 52 if (base::TimeTicks::IsThreadNowSupported())
68 return base::TimeTicks::ThreadNow() - start_time; 53 return base::TimeTicks::ThreadNow() - start_time;
69 return base::TimeTicks::HighResNow() - start_time; 54 return base::TimeTicks::HighResNow() - start_time;
70 } 55 }
71 return base::TimeDelta(); 56 return base::TimeDelta();
72 } 57 }
73 58
74 void RenderingStatsInstrumentation::IncrementFrameCount(int64 count) { 59 void RenderingStatsInstrumentation::IncrementFrameCount(int64 count) {
75 if (!record_rendering_stats_) 60 if (!record_rendering_stats_)
76 return; 61 return;
77 62
78 base::AutoLock scoped_lock(lock_); 63 base::AutoLock scoped_lock(lock_);
79 impl_thread_rendering_stats_.frame_count += count; 64 impl_thread_rendering_stats_.frame_count += count;
80 } 65 }
81 66
82 void RenderingStatsInstrumentation::AddPaint(base::TimeDelta duration,
83 int64 pixels) {
84 if (!record_rendering_stats_)
85 return;
86
87 base::AutoLock scoped_lock(lock_);
88 main_thread_rendering_stats_.paint_time += duration;
89 main_thread_rendering_stats_.painted_pixel_count += pixels;
90 }
91
92 void RenderingStatsInstrumentation::AddRecord(base::TimeDelta duration,
93 int64 pixels) {
94 if (!record_rendering_stats_)
95 return;
96
97 base::AutoLock scoped_lock(lock_);
98 main_thread_rendering_stats_.record_time += duration;
99 main_thread_rendering_stats_.recorded_pixel_count += pixels;
100 }
101
102 void RenderingStatsInstrumentation::AddVisibleContentArea(int64 area) { 67 void RenderingStatsInstrumentation::AddVisibleContentArea(int64 area) {
103 if (!record_rendering_stats_) 68 if (!record_rendering_stats_)
104 return; 69 return;
105 70
106 base::AutoLock scoped_lock(lock_); 71 base::AutoLock scoped_lock(lock_);
107 impl_thread_rendering_stats_.visible_content_area += area; 72 impl_thread_rendering_stats_.visible_content_area += area;
108 } 73 }
109 74
110 void RenderingStatsInstrumentation::AddApproximatedVisibleContentArea( 75 void RenderingStatsInstrumentation::AddApproximatedVisibleContentArea(
111 int64 area) { 76 int64 area) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 return; 113 return;
149 114
150 base::AutoLock scoped_lock(lock_); 115 base::AutoLock scoped_lock(lock_);
151 impl_thread_rendering_stats_.commit_to_activate_duration.Append( 116 impl_thread_rendering_stats_.commit_to_activate_duration.Append(
152 commit_to_activate_duration); 117 commit_to_activate_duration);
153 impl_thread_rendering_stats_.commit_to_activate_duration_estimate.Append( 118 impl_thread_rendering_stats_.commit_to_activate_duration_estimate.Append(
154 commit_to_activate_duration_estimate); 119 commit_to_activate_duration_estimate);
155 } 120 }
156 121
157 } // namespace cc 122 } // namespace cc
OLDNEW
« no previous file with comments | « cc/debug/rendering_stats_instrumentation.h ('k') | cc/input/input_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698