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

Side by Side Diff: tracing/tracing/extras/vsync/vsync_auditor.html

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright (c) 2015 The Chromium Authors. All rights reserved. 3 Copyright (c) 2015 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be 4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file. 5 found in the LICENSE file.
6 --> 6 -->
7 7
8 <link rel="import" href="/tracing/core/auditor.html"> 8 <link rel="import" href="/tracing/core/auditor.html">
9 9
10 <script> 10 <script>
11 'use strict'; 11 'use strict';
12 12
13 function filterDuplicateTimestamps(timestamps) {
14 var dedupedTimestamps = [];
15 var lastTs = 0;
16 for (var ts of timestamps) {
17 if (ts - lastTs >= 1) {
18 dedupedTimestamps.push(ts);
19 lastTs = ts;
20 }
21 }
22 return dedupedTimestamps;
23 }
24
13 tr.exportTo('tr.e.audits', function() { 25 tr.exportTo('tr.e.audits', function() {
14 26
15 var VSYNC_COUNTER_PRECISIONS = { 27 var VSYNC_COUNTER_PRECISIONS = {
16 // Android. Some versions have VSYNC split out into VSYNC-app and VSYNC-sf. 28 // Android. Some versions have VSYNC split out into VSYNC-app and VSYNC-sf.
17 // Requires "gfx" systrace category to be enabled. 29 // Requires "gfx" systrace category to be enabled.
18 'android.VSYNC-app': 15, 30 'android.VSYNC-app': 15,
19 'android.VSYNC': 15 31 'android.VSYNC': 15
20 }; 32 };
21 33
22 var VSYNC_SLICE_PRECISIONS = { 34 var VSYNC_SLICE_PRECISIONS = {
23 // Android. 35 // Android.
24 'RenderWidgetHostViewAndroid::OnVSync': 5, 36 'RenderWidgetHostViewAndroid::OnVSync': 5,
25 // Android. Very precise. Requires "gfx" systrace category to be enabled. 37 // Android. Very precise. Requires "gfx" systrace category to be enabled.
26 'VSYNC': 10, 38 'VSYNC': 10,
27 // Linux. Very precise. Requires "gpu" tracing category to be enabled. 39 // Linux. Very precise. Requires "gpu" tracing category to be enabled.
28 'vblank': 10, 40 'vblank': 10,
29 // Mac. Derived from a Mac callback (CVDisplayLinkSetOutputCallback). 41 // Mac. Derived from a Mac callback (CVDisplayLinkSetOutputCallback).
30 'DisplayLinkMac::GetVSyncParameters': 5 42 'DisplayLinkMac::GetVSyncParameters': 5
31 }; 43 };
32 44
33 var BEGIN_FRAME_SLICE_PRECISION = { 45 var BEGIN_FRAME_SLICE_PRECISION = {
34 'Scheduler::BeginFrame': 10 46 'DisplayScheduler::BeginFrame': 10
35 }; 47 };
36 48
37 /** 49 /**
38 * Auditor that analyzes the model and, if possible, adds data to it 50 * Auditor that analyzes the model and, if possible, adds data to it
39 * indicating when vertical sync events took place. 51 * indicating when vertical sync events took place.
40 * 52 *
41 * @constructor 53 * @constructor
42 * @extends {tr.c.Auditor} 54 * @extends {tr.c.Auditor}
43 */ 55 */
44 function VSyncAuditor(model) { 56 function VSyncAuditor(model) {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 // We need to check not only that we have a Scheduler::BeginFrame 120 // We need to check not only that we have a Scheduler::BeginFrame
109 // event, but also that we have one that has a frame time associated 121 // event, but also that we have one that has a frame time associated
110 // with it. Older versions of Scheduler::BeginFrame don't have one. 122 // with it. Older versions of Scheduler::BeginFrame don't have one.
111 else if (useInstead(slice.title, BEGIN_FRAME_SLICE_PRECISION) && 123 else if (useInstead(slice.title, BEGIN_FRAME_SLICE_PRECISION) &&
112 slice.args.args && slice.args.args.frame_time_us) 124 slice.args.args && slice.args.args.frame_time_us)
113 times.push(slice.args.args.frame_time_us / 1000.0); 125 times.push(slice.args.args.frame_time_us / 1000.0);
114 } 126 }
115 } 127 }
116 } 128 }
117 times.sort(function(x, y) { return x - y; }); 129 times.sort(function(x, y) { return x - y; });
118 return times; 130 return filterDuplicateTimestamps(times);
119 } 131 }
120 }; 132 };
121 133
122 tr.c.Auditor.register(VSyncAuditor); 134 tr.c.Auditor.register(VSyncAuditor);
123 135
124 return { 136 return {
125 VSyncAuditor: VSyncAuditor 137 VSyncAuditor: VSyncAuditor
126 }; 138 };
127 }); 139 });
128 </script> 140 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/extras/tquery/tquery.html ('k') | tracing/tracing/extras/vsync/vsync_auditor_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698