Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 129 } | 129 } |
| 130 return visibleFrames; | 130 return visibleFrames; |
| 131 }, | 131 }, |
| 132 | 132 |
| 133 /** | 133 /** |
| 134 * @param {!Array.<!WebInspector.TimelineFrame>} frames | 134 * @param {!Array.<!WebInspector.TimelineFrame>} frames |
| 135 * @return {number} | 135 * @return {number} |
| 136 */ | 136 */ |
| 137 _computeTargetFrameLength: function(frames) | 137 _computeTargetFrameLength: function(frames) |
| 138 { | 138 { |
| 139 const targetFPS = 20; | |
|
apavlov
2014/07/25 09:10:10
They say "const" prevents function optimizations.
| |
| 140 var result = 1000.0 / targetFPS; | |
| 141 if (!frames.length) | |
| 142 return result; | |
| 143 | |
| 139 var durations = []; | 144 var durations = []; |
| 140 for (var i = 0; i < frames.length; ++i) { | 145 for (var i = 0; i < frames.length; ++i) { |
| 141 if (frames[i]) | 146 if (frames[i]) |
| 142 durations.push(frames[i].duration); | 147 durations.push(frames[i].duration); |
| 143 } | 148 } |
| 144 var medianFrameLength = durations.qselect(Math.floor(durations.length / 2)); | 149 var medianFrameLength = durations.qselect(Math.floor(durations.length / 2)); |
| 145 | 150 |
| 146 // Optimize appearance for 30fps, but leave some space so it's evident w hen a frame overflows. | 151 // Optimize appearance for 30fps, but leave some space so it's evident w hen a frame overflows. |
| 147 // However, if at least half frames won't fit at this scale, fall back t o using autoscale. | 152 // However, if at least half frames won't fit at this scale, fall back t o using autoscale. |
| 148 const targetFPS = 20; | |
| 149 var result = 1000.0 / targetFPS; | |
| 150 if (result >= medianFrameLength) | 153 if (result >= medianFrameLength) |
| 151 return result; | 154 return result; |
| 152 | 155 |
| 153 var maxFrameLength = Math.max.apply(Math, durations); | 156 var maxFrameLength = Math.max.apply(Math, durations); |
| 154 return Math.min(medianFrameLength * 2, maxFrameLength); | 157 return Math.min(medianFrameLength * 2, maxFrameLength); |
| 155 }, | 158 }, |
| 156 | 159 |
| 157 /** | 160 /** |
| 158 * @param {!Array.<!WebInspector.TimelineFrame>} frames | 161 * @param {!Array.<!WebInspector.TimelineFrame>} frames |
| 159 * @param {number} scale | 162 * @param {number} scale |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 359 * @param {number} time | 362 * @param {number} time |
| 360 * @param {function(number, {startTime:number, endTime:number}):number} comp arator | 363 * @param {function(number, {startTime:number, endTime:number}):number} comp arator |
| 361 */ | 364 */ |
| 362 _firstBarAfter: function(time, comparator) | 365 _firstBarAfter: function(time, comparator) |
| 363 { | 366 { |
| 364 return insertionIndexForObjectInListSortedByFunction(time, this._barTime s, comparator); | 367 return insertionIndexForObjectInListSortedByFunction(time, this._barTime s, comparator); |
| 365 }, | 368 }, |
| 366 | 369 |
| 367 __proto__: WebInspector.TimelineOverviewBase.prototype | 370 __proto__: WebInspector.TimelineOverviewBase.prototype |
| 368 } | 371 } |
| OLD | NEW |