OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/scheduler/compositor_timing_history.h" | 5 #include "cc/scheduler/compositor_timing_history.h" |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "cc/debug/rendering_stats_instrumentation.h" | 8 #include "cc/debug/rendering_stats_instrumentation.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 base::TimeDelta begin_main_frame_start_to_commit_duration = | 59 base::TimeDelta begin_main_frame_start_to_commit_duration = |
60 base::TimeDelta::FromMilliseconds(1); | 60 base::TimeDelta::FromMilliseconds(1); |
61 base::TimeDelta prepare_tiles_duration = base::TimeDelta::FromMilliseconds(2); | 61 base::TimeDelta prepare_tiles_duration = base::TimeDelta::FromMilliseconds(2); |
62 base::TimeDelta prepare_tiles_end_to_ready_to_activate_duration = | 62 base::TimeDelta prepare_tiles_end_to_ready_to_activate_duration = |
63 base::TimeDelta::FromMilliseconds(1); | 63 base::TimeDelta::FromMilliseconds(1); |
64 base::TimeDelta commit_to_ready_to_activate_duration = | 64 base::TimeDelta commit_to_ready_to_activate_duration = |
65 base::TimeDelta::FromMilliseconds(3); | 65 base::TimeDelta::FromMilliseconds(3); |
66 base::TimeDelta activate_duration = base::TimeDelta::FromMilliseconds(4); | 66 base::TimeDelta activate_duration = base::TimeDelta::FromMilliseconds(4); |
67 base::TimeDelta draw_duration = base::TimeDelta::FromMilliseconds(5); | 67 base::TimeDelta draw_duration = base::TimeDelta::FromMilliseconds(5); |
68 | 68 |
69 timing_history_.WillBeginMainFrame(true); | 69 timing_history_.WillBeginMainFrame(true, base::TimeTicks()); |
70 AdvanceNowBy(begin_main_frame_queue_duration); | 70 AdvanceNowBy(begin_main_frame_queue_duration); |
71 timing_history_.BeginMainFrameStarted(Now()); | 71 timing_history_.BeginMainFrameStarted(Now()); |
72 AdvanceNowBy(begin_main_frame_start_to_commit_duration); | 72 AdvanceNowBy(begin_main_frame_start_to_commit_duration); |
73 timing_history_.DidCommit(); | 73 timing_history_.DidCommit(); |
74 timing_history_.WillPrepareTiles(); | 74 timing_history_.WillPrepareTiles(); |
75 AdvanceNowBy(prepare_tiles_duration); | 75 AdvanceNowBy(prepare_tiles_duration); |
76 timing_history_.DidPrepareTiles(); | 76 timing_history_.DidPrepareTiles(); |
77 AdvanceNowBy(prepare_tiles_end_to_ready_to_activate_duration); | 77 AdvanceNowBy(prepare_tiles_end_to_ready_to_activate_duration); |
78 timing_history_.ReadyToActivate(); | 78 timing_history_.ReadyToActivate(); |
79 // Do not count idle time between notification and actual activation. | 79 // Do not count idle time between notification and actual activation. |
80 AdvanceNowBy(one_second); | 80 AdvanceNowBy(one_second); |
81 timing_history_.WillActivate(); | 81 timing_history_.WillActivate(); |
82 AdvanceNowBy(activate_duration); | 82 AdvanceNowBy(activate_duration); |
83 timing_history_.DidActivate(); | 83 timing_history_.DidActivate(); |
84 // Do not count idle time between activate and draw. | 84 // Do not count idle time between activate and draw. |
85 AdvanceNowBy(one_second); | 85 AdvanceNowBy(one_second); |
86 timing_history_.WillDraw(); | 86 timing_history_.WillDraw(); |
87 AdvanceNowBy(draw_duration); | 87 AdvanceNowBy(draw_duration); |
88 timing_history_.DidDraw(true); | 88 timing_history_.DidDraw(true, true, base::TimeTicks()); |
89 | 89 |
90 EXPECT_EQ(begin_main_frame_queue_duration, | 90 EXPECT_EQ(begin_main_frame_queue_duration, |
91 timing_history_.BeginMainFrameQueueDurationCriticalEstimate()); | 91 timing_history_.BeginMainFrameQueueDurationCriticalEstimate()); |
92 EXPECT_EQ(base::TimeDelta(), | 92 EXPECT_EQ(base::TimeDelta(), |
93 timing_history_.BeginMainFrameQueueDurationNotCriticalEstimate()); | 93 timing_history_.BeginMainFrameQueueDurationNotCriticalEstimate()); |
94 EXPECT_EQ(begin_main_frame_start_to_commit_duration, | 94 EXPECT_EQ(begin_main_frame_start_to_commit_duration, |
95 timing_history_.BeginMainFrameStartToCommitDurationEstimate()); | 95 timing_history_.BeginMainFrameStartToCommitDurationEstimate()); |
96 | 96 |
97 base::TimeDelta begin_main_frame_to_commit_duration_expected_ = | 97 base::TimeDelta begin_main_frame_to_commit_duration_expected_ = |
98 begin_main_frame_queue_duration + | 98 begin_main_frame_queue_duration + |
(...skipping 18 matching lines...) Expand all Loading... |
117 base::TimeDelta begin_main_frame_start_to_commit_duration = | 117 base::TimeDelta begin_main_frame_start_to_commit_duration = |
118 base::TimeDelta::FromMilliseconds(1); | 118 base::TimeDelta::FromMilliseconds(1); |
119 base::TimeDelta prepare_tiles_duration = base::TimeDelta::FromMilliseconds(2); | 119 base::TimeDelta prepare_tiles_duration = base::TimeDelta::FromMilliseconds(2); |
120 base::TimeDelta prepare_tiles_end_to_ready_to_activate_duration = | 120 base::TimeDelta prepare_tiles_end_to_ready_to_activate_duration = |
121 base::TimeDelta::FromMilliseconds(1); | 121 base::TimeDelta::FromMilliseconds(1); |
122 base::TimeDelta commit_to_ready_to_activate_duration = | 122 base::TimeDelta commit_to_ready_to_activate_duration = |
123 base::TimeDelta::FromMilliseconds(3); | 123 base::TimeDelta::FromMilliseconds(3); |
124 base::TimeDelta activate_duration = base::TimeDelta::FromMilliseconds(4); | 124 base::TimeDelta activate_duration = base::TimeDelta::FromMilliseconds(4); |
125 base::TimeDelta draw_duration = base::TimeDelta::FromMilliseconds(5); | 125 base::TimeDelta draw_duration = base::TimeDelta::FromMilliseconds(5); |
126 | 126 |
127 timing_history_.WillBeginMainFrame(false); | 127 timing_history_.WillBeginMainFrame(false, base::TimeTicks()); |
128 AdvanceNowBy(begin_main_frame_queue_duration); | 128 AdvanceNowBy(begin_main_frame_queue_duration); |
129 timing_history_.BeginMainFrameStarted(Now()); | 129 timing_history_.BeginMainFrameStarted(Now()); |
130 AdvanceNowBy(begin_main_frame_start_to_commit_duration); | 130 AdvanceNowBy(begin_main_frame_start_to_commit_duration); |
131 // BeginMainFrameAborted counts as a commit complete. | 131 // BeginMainFrameAborted counts as a commit complete. |
132 timing_history_.BeginMainFrameAborted(); | 132 timing_history_.BeginMainFrameAborted(); |
133 timing_history_.WillPrepareTiles(); | 133 timing_history_.WillPrepareTiles(); |
134 AdvanceNowBy(prepare_tiles_duration); | 134 AdvanceNowBy(prepare_tiles_duration); |
135 timing_history_.DidPrepareTiles(); | 135 timing_history_.DidPrepareTiles(); |
136 AdvanceNowBy(prepare_tiles_end_to_ready_to_activate_duration); | 136 AdvanceNowBy(prepare_tiles_end_to_ready_to_activate_duration); |
137 timing_history_.ReadyToActivate(); | 137 timing_history_.ReadyToActivate(); |
138 // Do not count idle time between notification and actual activation. | 138 // Do not count idle time between notification and actual activation. |
139 AdvanceNowBy(one_second); | 139 AdvanceNowBy(one_second); |
140 timing_history_.WillActivate(); | 140 timing_history_.WillActivate(); |
141 AdvanceNowBy(activate_duration); | 141 AdvanceNowBy(activate_duration); |
142 timing_history_.DidActivate(); | 142 timing_history_.DidActivate(); |
143 // Do not count idle time between activate and draw. | 143 // Do not count idle time between activate and draw. |
144 AdvanceNowBy(one_second); | 144 AdvanceNowBy(one_second); |
145 timing_history_.WillDraw(); | 145 timing_history_.WillDraw(); |
146 AdvanceNowBy(draw_duration); | 146 AdvanceNowBy(draw_duration); |
147 timing_history_.DidDraw(true); | 147 timing_history_.DidDraw(true, true, base::TimeTicks()); |
148 | 148 |
149 EXPECT_EQ(base::TimeDelta(), | 149 EXPECT_EQ(base::TimeDelta(), |
150 timing_history_.BeginMainFrameQueueDurationCriticalEstimate()); | 150 timing_history_.BeginMainFrameQueueDurationCriticalEstimate()); |
151 EXPECT_EQ(begin_main_frame_queue_duration, | 151 EXPECT_EQ(begin_main_frame_queue_duration, |
152 timing_history_.BeginMainFrameQueueDurationNotCriticalEstimate()); | 152 timing_history_.BeginMainFrameQueueDurationNotCriticalEstimate()); |
153 EXPECT_EQ(begin_main_frame_start_to_commit_duration, | 153 EXPECT_EQ(begin_main_frame_start_to_commit_duration, |
154 timing_history_.BeginMainFrameStartToCommitDurationEstimate()); | 154 timing_history_.BeginMainFrameStartToCommitDurationEstimate()); |
155 | 155 |
156 base::TimeDelta begin_main_frame_to_commit_duration_expected_ = | 156 base::TimeDelta begin_main_frame_to_commit_duration_expected_ = |
157 begin_main_frame_queue_duration + | 157 begin_main_frame_queue_duration + |
158 begin_main_frame_start_to_commit_duration; | 158 begin_main_frame_start_to_commit_duration; |
159 EXPECT_EQ(begin_main_frame_to_commit_duration_expected_, | 159 EXPECT_EQ(begin_main_frame_to_commit_duration_expected_, |
160 timing_history_.BeginMainFrameToCommitDurationEstimate()); | 160 timing_history_.BeginMainFrameToCommitDurationEstimate()); |
161 | 161 |
162 EXPECT_EQ(commit_to_ready_to_activate_duration, | 162 EXPECT_EQ(commit_to_ready_to_activate_duration, |
163 timing_history_.CommitToReadyToActivateDurationEstimate()); | 163 timing_history_.CommitToReadyToActivateDurationEstimate()); |
164 EXPECT_EQ(prepare_tiles_duration, | 164 EXPECT_EQ(prepare_tiles_duration, |
165 timing_history_.PrepareTilesDurationEstimate()); | 165 timing_history_.PrepareTilesDurationEstimate()); |
166 EXPECT_EQ(activate_duration, timing_history_.ActivateDurationEstimate()); | 166 EXPECT_EQ(activate_duration, timing_history_.ActivateDurationEstimate()); |
167 EXPECT_EQ(draw_duration, timing_history_.DrawDurationEstimate()); | 167 EXPECT_EQ(draw_duration, timing_history_.DrawDurationEstimate()); |
168 } | 168 } |
169 | 169 |
170 } // namespace | 170 } // namespace |
171 } // namespace cc | 171 } // namespace cc |
OLD | NEW |