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

Side by Side Diff: tracing/tracing/model/helpers/android_app.html

Issue 2771723003: [tracing] Move math utilities from base into their own subdirectory (attempt 2) (Closed)
Patch Set: rebase Created 3 years, 9 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 <link rel="import" href="/tracing/base/range_utils.html"> 7 <link rel="import" href="/tracing/base/math/range_utils.html">
8 <link rel="import" href="/tracing/base/sorted_array_utils.html"> 8 <link rel="import" href="/tracing/base/math/sorted_array_utils.html">
9 <link rel="import" href="/tracing/base/statistics.html"> 9 <link rel="import" href="/tracing/base/math/statistics.html">
10 <link rel="import" href="/tracing/model/frame.html"> 10 <link rel="import" href="/tracing/model/frame.html">
11 11
12 <script> 12 <script>
13 'use strict'; 13 'use strict';
14 14
15 /** 15 /**
16 * @fileoverview Class for managing android-specific model meta data, 16 * @fileoverview Class for managing android-specific model meta data,
17 * such as rendering apps, and frames rendered. 17 * such as rendering apps, and frames rendered.
18 */ 18 */
19 tr.exportTo('tr.model.helpers', function() { 19 tr.exportTo('tr.model.helpers', function() {
20 var Frame = tr.model.Frame; 20 var Frame = tr.model.Frame;
21 var Statistics = tr.b.Statistics; 21 var Statistics = tr.b.math.Statistics;
22 22
23 var UI_DRAW_TYPE = { 23 var UI_DRAW_TYPE = {
24 NONE: 'none', 24 NONE: 'none',
25 LEGACY: 'legacy', 25 LEGACY: 'legacy',
26 MARSHMALLOW: 'marshmallow' 26 MARSHMALLOW: 'marshmallow'
27 }; 27 };
28 28
29 var UI_THREAD_DRAW_NAMES = { 29 var UI_THREAD_DRAW_NAMES = {
30 'performTraversals': UI_DRAW_TYPE.LEGACY, 30 'performTraversals': UI_DRAW_TYPE.LEGACY,
31 'Choreographer#doFrame': UI_DRAW_TYPE.MARSHMALLOW 31 'Choreographer#doFrame': UI_DRAW_TYPE.MARSHMALLOW
(...skipping 30 matching lines...) Expand all
62 return new Frame(events, threadTimeRanges, args); 62 return new Frame(events, threadTimeRanges, args);
63 } 63 }
64 64
65 function findOverlappingDrawFrame(renderThread, uiDrawSlice) { 65 function findOverlappingDrawFrame(renderThread, uiDrawSlice) {
66 if (!renderThread) 66 if (!renderThread)
67 return undefined; 67 return undefined;
68 68
69 // of all top level renderthread slices, find the one that has a 'sync' 69 // of all top level renderthread slices, find the one that has a 'sync'
70 // within the uiDrawSlice 70 // within the uiDrawSlice
71 var overlappingDrawFrame; 71 var overlappingDrawFrame;
72 var slices = tr.b.iterateOverIntersectingIntervals( 72 var slices = tr.b.math.iterateOverIntersectingIntervals(
73 renderThread.sliceGroup.slices, 73 renderThread.sliceGroup.slices,
74 function(range) { return range.start; }, 74 function(range) { return range.start; },
75 function(range) { return range.end; }, 75 function(range) { return range.end; },
76 uiDrawSlice.start, 76 uiDrawSlice.start,
77 uiDrawSlice.end, 77 uiDrawSlice.end,
78 function(rtDrawSlice) { 78 function(rtDrawSlice) {
79 if (rtDrawSlice.title === RENDER_THREAD_DRAW_NAME) { 79 if (rtDrawSlice.title === RENDER_THREAD_DRAW_NAME) {
80 var rtSyncSlice = rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME); 80 var rtSyncSlice = rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);
81 if (rtSyncSlice && 81 if (rtSyncSlice &&
82 rtSyncSlice.start >= uiDrawSlice.start && 82 rtSyncSlice.start >= uiDrawSlice.start &&
(...skipping 24 matching lines...) Expand all
107 slice.title === 'setupListItem' || 107 slice.title === 'setupListItem' ||
108 slice.title === 'deliverInputEvent' || 108 slice.title === 'deliverInputEvent' ||
109 slice.title === 'RV Scroll') 109 slice.title === 'RV Scroll')
110 preFrameEvents.push(slice); 110 preFrameEvents.push(slice);
111 }); 111 });
112 uiThread.asyncSliceGroup.slices.forEach(function(slice) { 112 uiThread.asyncSliceGroup.slices.forEach(function(slice) {
113 if (slice.title === 'deliverInputEvent') 113 if (slice.title === 'deliverInputEvent')
114 preFrameEvents.push(slice); 114 preFrameEvents.push(slice);
115 }); 115 });
116 116
117 return tr.b.mergeRanges( 117 return tr.b.math.mergeRanges(
118 tr.b.convertEventsToRanges(preFrameEvents), 118 tr.b.math.convertEventsToRanges(preFrameEvents),
119 3, 119 3,
120 function(events) { 120 function(events) {
121 return { 121 return {
122 start: events[0].min, 122 start: events[0].min,
123 end: events[events.length - 1].max 123 end: events[events.length - 1].max
124 }; 124 };
125 }); 125 });
126 } 126 }
127 127
128 function getFrameStartTime(traversalStart, preTraversalWorkRanges) { 128 function getFrameStartTime(traversalStart, preTraversalWorkRanges) {
129 var preTraversalWorkRange = tr.b.findClosestIntervalInSortedIntervals( 129 var preTraversalWorkRange = tr.b.math.findClosestIntervalInSortedIntervals(
130 preTraversalWorkRanges, 130 preTraversalWorkRanges,
131 function(range) { return range.start; }, 131 function(range) { return range.start; },
132 function(range) { return range.end; }, 132 function(range) { return range.end; },
133 traversalStart, 133 traversalStart,
134 3); 134 3);
135 135
136 if (preTraversalWorkRange) 136 if (preTraversalWorkRange)
137 return preTraversalWorkRange.start; 137 return preTraversalWorkRange.start;
138 return traversalStart; 138 return traversalStart;
139 } 139 }
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 } 332 }
333 return this.animations_; 333 return this.animations_;
334 } 334 }
335 }; 335 };
336 336
337 return { 337 return {
338 AndroidApp, 338 AndroidApp,
339 }; 339 };
340 }); 340 });
341 </script> 341 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/model/frame.html ('k') | tracing/tracing/model/helpers/android_model_helper.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698