decord/source/5428_RenderTimeTracker.js
2026-07-31 08:44:05 +00:00

85 lines
2.8 KiB
JavaScript

// Module ID: 5428
// Function ID: 5429
// Name: RenderTimeTracker
// Dependencies: [5429, 5430, 5434, 5435]
// Module 5428 (RenderTimeTracker)
import _classCallCheck from "_classCallCheck";
const RenderTimeTracker = arg1;
class RenderTimeTracker {
constructor() {
tmp = outer1_2(this, RenderTimeTracker);
averageWindow = new require("AverageWindow").AverageWindow(5);
this.renderTimeAvgWindow = averageWindow;
this.lastTimerStartedAt = -1;
this.maxRenderTime = 32;
this.defaultRenderTime = 16;
this.rendersWithoutCommit = 0;
this.maxRendersWithoutCommit = 40;
return;
}
}
const items = [
{
key: "startTracking",
value: function startTracking() {
const self = this;
this.rendersWithoutCommit = this.rendersWithoutCommit + 1;
let trackAverageRenderTimeForOffsetProjection = RenderTimeTracker(5435).PlatformConfig.trackAverageRenderTimeForOffsetProjection;
if (trackAverageRenderTimeForOffsetProjection) {
trackAverageRenderTimeForOffsetProjection = -1 === self.lastTimerStartedAt;
}
if (trackAverageRenderTimeForOffsetProjection) {
const _Date = Date;
self.lastTimerStartedAt = Date.now();
}
}
},
{
key: "markRenderComplete",
value: function markRenderComplete() {
const self = this;
this.rendersWithoutCommit = 0;
let trackAverageRenderTimeForOffsetProjection = RenderTimeTracker(5435).PlatformConfig.trackAverageRenderTimeForOffsetProjection;
if (trackAverageRenderTimeForOffsetProjection) {
trackAverageRenderTimeForOffsetProjection = -1 !== self.lastTimerStartedAt;
}
if (trackAverageRenderTimeForOffsetProjection) {
const renderTimeAvgWindow = self.renderTimeAvgWindow;
const _Date = Date;
renderTimeAvgWindow.addValue(Date.now() - self.lastTimerStartedAt);
self.lastTimerStartedAt = -1;
}
}
},
{
key: "hasExceededMaxRendersWithoutCommit",
value: function hasExceededMaxRendersWithoutCommit() {
return this.rendersWithoutCommit >= this.maxRendersWithoutCommit;
}
},
{
key: "getRawValue",
value: function getRawValue() {
return this.renderTimeAvgWindow.currentValue;
}
},
{
key: "getAverageRenderTime",
value: function getAverageRenderTime() {
const self = this;
if (RenderTimeTracker(5435).PlatformConfig.trackAverageRenderTimeForOffsetProjection) {
const _Math = Math;
const _Math2 = Math;
const _Math3 = Math;
let defaultRenderTime = Math.min(self.maxRenderTime, Math.max(Math.round(self.renderTimeAvgWindow.currentValue), 16));
} else {
defaultRenderTime = self.defaultRenderTime;
}
return defaultRenderTime;
}
}
];
export const RenderTimeTracker = require("_createClass")(RenderTimeTracker, items);