stats-gl 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,6 +36,7 @@ import Stats from "stats-gl";
36
36
  const stats = new Stats({
37
37
  trackGPU: false,
38
38
  trackHz: false,
39
+ trackCPT: false,
39
40
  logsPerSecond: 4,
40
41
  graphsPerSecond: 30,
41
42
  samplesLog: 40,
@@ -125,6 +126,7 @@ The constructor for the Stats class accepts an options object with the following
125
126
  - `graphsPerSecond`: How often to update the graph, in graphs per second.
126
127
  - `trackGPU`: A boolean value to enable or disable GPU tracking.
127
128
  - `trackHz`: A boolean value to enable or disable Hz tracking.
129
+ - `trackCPT`: (Threejs specific) A boolean value to enable or disable Threejs Compute Shading tracking.
128
130
  - `samplesLog`: Number of recent log samples to keep for computing averages.
129
131
  - `samplesGraph`: Number of recent graph samples to keep for computing averages.
130
132
  - `precision`: Precision of the data, in number of decimal places (only affects CPU and GPU).
package/dist/main.cjs CHANGED
@@ -4,6 +4,7 @@ const panelVsync = require("./panelVsync.cjs");
4
4
  const _Stats = class _Stats2 {
5
5
  constructor({
6
6
  trackGPU = false,
7
+ trackCPT = false,
7
8
  trackHz = false,
8
9
  logsPerSecond = 4,
9
10
  graphsPerSecond = 30,
@@ -21,7 +22,6 @@ const _Stats = class _Stats2 {
21
22
  this.threeRendererPatched = false;
22
23
  this.frameTimes = [];
23
24
  this.renderCount = 0;
24
- this.isRunningCPUProfiling = false;
25
25
  this.totalCpuDuration = 0;
26
26
  this.totalGpuDuration = 0;
27
27
  this.totalGpuDurationCompute = 0;
@@ -55,17 +55,18 @@ const _Stats = class _Stats2 {
55
55
  this.showPanel(++this.mode % this.dom.children.length);
56
56
  };
57
57
  this.handleResize = () => {
58
- this.resizePanel(this.fpsPanel, 0);
59
- this.resizePanel(this.msPanel, 1);
58
+ this.resizePanel(this.fpsPanel);
59
+ this.resizePanel(this.msPanel);
60
60
  if (this.gpuPanel)
61
- this.resizePanel(this.gpuPanel, 2);
61
+ this.resizePanel(this.gpuPanel);
62
62
  if (this.gpuPanelCompute)
63
- this.resizePanel(this.gpuPanelCompute, 3);
63
+ this.resizePanel(this.gpuPanelCompute);
64
64
  };
65
65
  this.mode = mode;
66
66
  this.horizontal = horizontal;
67
67
  this.minimal = minimal;
68
68
  this.trackGPU = trackGPU;
69
+ this.trackCPT = trackCPT;
69
70
  this.trackHz = trackHz;
70
71
  this.samplesLog = samplesLog;
71
72
  this.samplesGraph = samplesGraph;
@@ -79,8 +80,9 @@ const _Stats = class _Stats2 {
79
80
  this.beginTime = performance.now();
80
81
  this.prevTextTime = this.beginTime;
81
82
  this.prevCpuTime = this.beginTime;
82
- this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"), 0);
83
- this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"), 1);
83
+ this._panelId = 0;
84
+ this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"));
85
+ this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"));
84
86
  if (this.trackHz === true) {
85
87
  this.vsyncPanel = new panelVsync.PanelVSync("", "#f0f", "#202");
86
88
  this.dom.appendChild(this.vsyncPanel.canvas);
@@ -137,23 +139,25 @@ const _Stats = class _Stats2 {
137
139
  }
138
140
  async handleWebGPURenderer(renderer) {
139
141
  if (renderer.isWebGPURenderer) {
140
- if (this.trackGPU) {
142
+ if (this.trackGPU || this.trackCPT) {
141
143
  renderer.backend.trackTimestamp = true;
142
144
  if (await renderer.hasFeatureAsync("timestamp-query")) {
143
145
  this.initializeWebGPUPanels();
144
146
  }
145
147
  }
146
148
  this.info = renderer.info;
149
+ this.patchThreeWebGPU(renderer);
147
150
  return true;
148
151
  }
149
152
  return false;
150
153
  }
151
154
  initializeWebGPUPanels() {
152
- this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
153
- this.gpuPanelCompute = this.addPanel(
154
- new _Stats2.Panel("CPT", "#e1e1e1", "#212121"),
155
- 3
156
- );
155
+ if (this.trackGPU) {
156
+ this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"));
157
+ }
158
+ if (this.trackCPT) {
159
+ this.gpuPanelCompute = this.addPanel(new _Stats2.Panel("CPT", "#e1e1e1", "#212121"));
160
+ }
157
161
  }
158
162
  initializeWebGL(canvasOrGL) {
159
163
  if (canvasOrGL instanceof WebGL2RenderingContext) {
@@ -176,14 +180,12 @@ const _Stats = class _Stats2 {
176
180
  if (this.gl) {
177
181
  this.ext = this.gl.getExtension("EXT_disjoint_timer_query_webgl2");
178
182
  if (this.ext) {
179
- this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
183
+ this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"));
180
184
  }
181
185
  }
182
186
  }
183
187
  begin() {
184
- if (!this.isRunningCPUProfiling) {
185
- this.beginProfiling("cpu-started");
186
- }
188
+ this.beginProfiling("cpu-started");
187
189
  if (!this.gl || !this.ext)
188
190
  return;
189
191
  if (this.activeQuery) {
@@ -201,11 +203,10 @@ const _Stats = class _Stats2 {
201
203
  this.gpuQueries.push({ query: this.activeQuery });
202
204
  this.activeQuery = null;
203
205
  }
206
+ this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
204
207
  }
205
208
  update() {
206
- if (this.isRunningCPUProfiling) {
207
- this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
208
- }
209
+ this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
209
210
  if (!this.info) {
210
211
  this.processGpuQueries();
211
212
  } else {
@@ -221,10 +222,9 @@ const _Stats = class _Stats2 {
221
222
  resetCounters() {
222
223
  this.renderCount = 0;
223
224
  this.totalCpuDuration = 0;
224
- this.beginProfiling("cpu-started");
225
225
  this.beginTime = this.endInternal();
226
226
  }
227
- resizePanel(panel2, offset) {
227
+ resizePanel(panel2) {
228
228
  panel2.canvas.style.position = "absolute";
229
229
  if (this.minimal) {
230
230
  panel2.canvas.style.display = "none";
@@ -232,17 +232,19 @@ const _Stats = class _Stats2 {
232
232
  panel2.canvas.style.display = "block";
233
233
  if (this.horizontal) {
234
234
  panel2.canvas.style.top = "0px";
235
- panel2.canvas.style.left = offset * panel2.WIDTH / panel2.PR + "px";
235
+ panel2.canvas.style.left = panel2.id * panel2.WIDTH / panel2.PR + "px";
236
236
  } else {
237
237
  panel2.canvas.style.left = "0px";
238
- panel2.canvas.style.top = offset * panel2.HEIGHT / panel2.PR + "px";
238
+ panel2.canvas.style.top = panel2.id * panel2.HEIGHT / panel2.PR + "px";
239
239
  }
240
240
  }
241
241
  }
242
- addPanel(panel2, offset) {
242
+ addPanel(panel2) {
243
243
  if (panel2.canvas) {
244
244
  this.dom.appendChild(panel2.canvas);
245
- this.resizePanel(panel2, offset);
245
+ panel2.id = this._panelId;
246
+ this.resizePanel(panel2);
247
+ this._panelId++;
246
248
  }
247
249
  return panel2;
248
250
  }
@@ -322,7 +324,7 @@ const _Stats = class _Stats2 {
322
324
  if (this.gpuPanel) {
323
325
  this.updatePanelComponents(this.gpuPanel, this.averageGpu, this.precision, shouldUpdateText, shouldUpdateGraph);
324
326
  }
325
- if (this.gpuPanelCompute) {
327
+ if (this.trackCPT && this.gpuPanelCompute) {
326
328
  this.updatePanelComponents(this.gpuPanelCompute, this.averageGpuCompute, this.precision, shouldUpdateText, shouldUpdateGraph);
327
329
  }
328
330
  if (shouldUpdateText) {
@@ -374,15 +376,13 @@ const _Stats = class _Stats2 {
374
376
  beginProfiling(marker) {
375
377
  if (window.performance) {
376
378
  window.performance.mark(marker);
377
- this.isRunningCPUProfiling = true;
378
379
  }
379
380
  }
380
381
  endProfiling(startMarker, endMarker, measureName) {
381
- if (window.performance && endMarker && this.isRunningCPUProfiling) {
382
+ if (window.performance && endMarker) {
382
383
  window.performance.mark(endMarker);
383
384
  const cpuMeasure = performance.measure(measureName, startMarker, endMarker);
384
385
  this.totalCpuDuration += cpuMeasure.duration;
385
- this.isRunningCPUProfiling = false;
386
386
  }
387
387
  }
388
388
  updatePanel(panel2, averageArray, precision = 2) {
@@ -444,6 +444,14 @@ const _Stats = class _Stats2 {
444
444
  get domElement() {
445
445
  return this.dom;
446
446
  }
447
+ patchThreeWebGPU(renderer) {
448
+ const originalAnimationLoop = renderer.info.reset;
449
+ const statsInstance = this;
450
+ renderer.info.reset = function() {
451
+ statsInstance.beginProfiling("cpu-started");
452
+ originalAnimationLoop.call(this);
453
+ };
454
+ }
447
455
  patchThreeRenderer(renderer) {
448
456
  const originalRenderMethod = renderer.render;
449
457
  const statsInstance = this;
package/dist/main.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.cjs","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats","PanelVSync","panel","Panel"],"mappings":";;;AA0CA,MAAM,SAAN,MAAMA,QAAM;AAAA,EAoEV,YAAY;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,aAAa;AAAA,IACb,OAAO;AAAA,EACT,IAAkB,IAAI;AAlEtB,SAAO,KAAoC;AAC3C,SAAO,MAAkB;AAEzB,SAAQ,cAAiC;AACzC,SAAQ,aAA0B;AAClC,SAAQ,uBAAuB;AAI/B,SAAQ,aAAuB;AAE/B,SAAQ,cAAc;AACtB,SAAQ,wBAAwB;AAEhC,SAAQ,mBAAmB;AAC3B,SAAQ,mBAAmB;AAC3B,SAAQ,0BAA0B;AAIlC,SAAQ,WAAyB;AACjC,SAAQ,kBAAgC;AACxC,SAAQ,aAAgC;AAExC,SAAO,aAA0B,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AACpD,SAAO,aAA0B,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AACpD,SAAO,aAA0B,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AACpD,SAAO,oBAAiC,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AAE3D,SAAQ,gBAAgB;AAExB,SAAQ,UAAqC;AAC7C,SAAQ,UAAqC;AAC7C,SAAQ,YAAuC;AAG/C,SAAiB,cAA2B;AAAA,MAC1C,EAAE,aAAa,IAAI,WAAW,MAAM;AAAA,MACpC,EAAE,aAAa,IAAI,WAAW,MAAM;AAAA,MACpC,EAAE,aAAa,IAAI,WAAW,MAAM;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,IAAA;AAEtC,SAAQ,gBAAkC;AAC1C,SAAQ,mBAA6B;AACrC,SAAiB,eAAe;AAChC,SAAiB,kBAAkB;AACnC,SAAQ,gBAAwB;AA2ExB,SAAA,cAAc,CAAC,UAA4B;AACjD,YAAM,eAAe;AACrB,WAAK,UAAU,EAAE,KAAK,OAAO,KAAK,IAAI,SAAS,MAAM;AAAA,IAAA;AAGvD,SAAQ,eAAe,MAAY;AAC5B,WAAA,YAAY,KAAK,UAAU,CAAC;AAC5B,WAAA,YAAY,KAAK,SAAS,CAAC;AAChC,UAAI,KAAK;AAAe,aAAA,YAAY,KAAK,UAAU,CAAC;AACpD,UAAI,KAAK;AAAsB,aAAA,YAAY,KAAK,iBAAiB,CAAC;AAAA,IAAA;AAlElE,SAAK,OAAO;AACZ,SAAK,aAAa;AAClB,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,UAAU;AACf,SAAK,aAAa;AAClB,SAAK,eAAe;AACpB,SAAK,YAAY;AACjB,SAAK,gBAAgB;AACrB,SAAK,kBAAkB;AACjB,UAAA,gBAAgB,YAAY;AAClC,SAAK,gBAAgB;AAGhB,SAAA,MAAM,SAAS,cAAc,KAAK;AACvC,SAAK,cAAc;AAGd,SAAA,YAAY,YAAY;AAC7B,SAAK,eAAe,KAAK;AAEzB,SAAK,cAAc,KAAK;AAGnB,SAAA,WAAW,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AAClE,SAAA,UAAU,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AAElE,QAAA,KAAK,YAAY,MAAM;AACzB,WAAK,aAAa,IAAIC,WAAAA,WAAW,IAAI,QAAQ,MAAM;AACnD,WAAK,IAAI,YAAY,KAAK,WAAW,MAAM;AACtC,WAAA,WAAW,UAAU,IAAI,EAAE;AAAA,IAClC;AAEA,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EAGQ,gBAAsB;AACvB,SAAA,IAAI,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMrB,KAAK,UAAU,qBAAqB,EAAE;AAAA;AAAA,EAE5C;AAAA,EAEQ,sBAA4B;AAClC,QAAI,KAAK,SAAS;AAChB,WAAK,IAAI,iBAAiB,SAAS,KAAK,WAAW;AAC9C,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA,OACnB;AACE,aAAA,iBAAiB,UAAU,KAAK,YAAY;AAAA,IACrD;AAAA,EACF;AAAA,EAcA,MAAa,KACX,YACe;AACf,QAAI,CAAC,YAAY;AACf,cAAQ,MAAM,6CAA6C;AAC3D;AAAA,IACF;AAEI,QAAA,KAAK,oBAAoB,UAAU;AAAG;AACtC,QAAA,MAAM,KAAK,qBAAqB,UAAU;AAAG;AAE7C,QAAA,KAAK,gBAAgB,UAAU,GAAG;AACpC,UAAI,KAAK,UAAU;AACjB,aAAK,sBAAsB;AAAA,MAC7B;AACA;AAAA,IAAA,OACK;AACL,cAAQ,MAAM,8CAA8C;AAAA,IAC9D;AAAA,EACF;AAAA,EAEQ,oBAAoB,UAAwB;AAClD,QAAI,SAAS,mBAAmB,CAAC,KAAK,sBAAsB;AAC1D,WAAK,mBAAmB,QAAQ;AAC3B,WAAA,KAAK,SAAS;AAEnB,UAAI,KAAK,UAAU;AACjB,aAAK,sBAAsB;AAAA,MAC7B;AACO,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EACT;AAAA,EAEA,MAAc,qBAAqB,UAAiC;AAClE,QAAI,SAAS,kBAAkB;AAC7B,UAAI,KAAK,UAAU;AACjB,iBAAS,QAAQ,iBAAiB;AAClC,YAAI,MAAM,SAAS,gBAAgB,iBAAiB,GAAG;AACrD,eAAK,uBAAuB;AAAA,QAC9B;AAAA,MACF;AACA,WAAK,OAAO,SAAS;AACd,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,yBAA+B;AAChC,SAAA,WAAW,KAAK,SAAS,IAAID,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AACvE,SAAK,kBAAkB,KAAK;AAAA,MAC1B,IAAIA,QAAM,MAAM,OAAO,WAAW,SAAS;AAAA,MAC3C;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEQ,gBACN,YACS;AACT,QAAI,sBAAsB,wBAAwB;AAChD,WAAK,KAAK;AAAA,IAEV,WAAA,sBAAsB,qBACtB,sBAAsB,iBACtB;AACK,WAAA,KAAK,WAAW,WAAW,QAAQ;AACpC,UAAA,CAAC,KAAK,IAAI;AACZ,gBAAQ,MAAM,yCAAyC;AAChD,eAAA;AAAA,MACT;AAAA,IAAA,OACK;AACG,cAAA;AAAA,QACN;AAAA,MAAA;AAEK,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,wBAA8B;AACpC,QAAI,KAAK,IAAI;AACX,WAAK,MAAM,KAAK,GAAG,aAAa,iCAAiC;AACjE,UAAI,KAAK,KAAK;AACP,aAAA,WAAW,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AAAA,MACzE;AAAA,IACF;AAAA,EACF;AAAA,EAEO,QAAc;AACf,QAAA,CAAC,KAAK,uBAAuB;AAC/B,WAAK,eAAe,aAAa;AAAA,IACnC;AAEA,QAAI,CAAC,KAAK,MAAM,CAAC,KAAK;AAAK;AAE3B,QAAI,KAAK,aAAa;AACpB,WAAK,GAAG,SAAS,KAAK,IAAI,gBAAgB;AAAA,IAC5C;AAEK,SAAA,cAAc,KAAK,GAAG,YAAY;AACvC,QAAI,KAAK,aAAa;AACpB,WAAK,GAAG,WAAW,KAAK,IAAI,kBAAkB,KAAK,WAAW;AAAA,IAChE;AAAA,EACF;AAAA,EAEO,MAAY;AACZ,SAAA;AACL,QAAI,KAAK,MAAM,KAAK,OAAO,KAAK,aAAa;AAC3C,WAAK,GAAG,SAAS,KAAK,IAAI,gBAAgB;AAC1C,WAAK,WAAW,KAAK,EAAE,OAAO,KAAK,aAAa;AAChD,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEO,SAAe;AAEpB,QAAI,KAAK,uBAAuB;AACzB,WAAA,aAAa,eAAe,gBAAgB,cAAc;AAAA,IAGjE;AAEI,QAAA,CAAC,KAAK,MAAM;AACd,WAAK,kBAAkB;AAAA,IAAA,OAClB;AACL,WAAK,wBAAwB;AAAA,IAC/B;AAEA,SAAK,eAAe;AACpB,SAAK,cAAc;AAAA,EACrB;AAAA,EAEQ,0BAAgC;AACjC,SAAA,mBAAmB,KAAK,KAAM,OAAO;AACrC,SAAA,0BAA0B,KAAK,KAAM,QAAQ;AAAA,EACpD;AAAA,EAEQ,gBAAsB;AAC5B,SAAK,cAAc;AACnB,SAAK,mBAAmB;AACxB,SAAK,eAAe,aAAa;AAC5B,SAAA,YAAY,KAAK;EACxB;AAAA,EAEA,YAAYE,QAAc,QAAgB;AAElC,IAAAA,OAAA,OAAO,MAAM,WAAW;AAE9B,QAAI,KAAK,SAAS;AAEV,MAAAA,OAAA,OAAO,MAAM,UAAU;AAAA,IAAA,OAExB;AAEC,MAAAA,OAAA,OAAO,MAAM,UAAU;AAC7B,UAAI,KAAK,YAAY;AACb,QAAAA,OAAA,OAAO,MAAM,MAAM;AACzB,QAAAA,OAAM,OAAO,MAAM,OAAO,SAASA,OAAM,QAAQA,OAAM,KAAK;AAAA,MAAA,OACvD;AACC,QAAAA,OAAA,OAAO,MAAM,OAAO;AAC1B,QAAAA,OAAM,OAAO,MAAM,MAAM,SAASA,OAAM,SAASA,OAAM,KAAK;AAAA,MAE9D;AAAA,IACF;AAAA,EAEF;AAAA,EACA,SAASA,QAAc,QAAgB;AAErC,QAAIA,OAAM,QAAQ;AAEX,WAAA,IAAI,YAAYA,OAAM,MAAM;AAE5B,WAAA,YAAYA,QAAO,MAAM;AAAA,IAEhC;AAEO,WAAAA;AAAA,EAET;AAAA,EAEA,UAAU,IAAY;AAEpB,aAAS,IAAI,GAAG,IAAI,KAAK,IAAI,SAAS,QAAQ,KAAK;AACjD,YAAM,QAAQ,KAAK,IAAI,SAAS,CAAC;AAEjC,YAAM,MAAM,UAAU,MAAM,KAAK,UAAU;AAAA,IAE7C;AAEA,SAAK,OAAO;AAAA,EAEd;AAAA,EAEA,oBAAoB;AAGlB,QAAI,CAAC,KAAK,MAAM,CAAC,KAAK;AAAK;AAE3B,SAAK,mBAAmB;AAExB,SAAK,WAAW,QAAQ,CAAC,WAAW,UAAU;AAC5C,UAAI,KAAK,IAAI;AACL,cAAA,YAAY,KAAK,GAAG,kBAAkB,UAAU,OAAO,KAAK,GAAG,sBAAsB;AAC3F,cAAM,WAAW,KAAK,GAAG,aAAa,KAAK,IAAI,gBAAgB;AAE3D,YAAA,aAAa,CAAC,UAAU;AACpB,gBAAA,UAAU,KAAK,GAAG,kBAAkB,UAAU,OAAO,KAAK,GAAG,YAAY;AAC/E,gBAAM,WAAW,UAAU;AAC3B,eAAK,oBAAoB;AACpB,eAAA,GAAG,YAAY,UAAU,KAAK;AAC9B,eAAA,WAAW,OAAO,OAAO,CAAC;AAAA,QACjC;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAEH;AAAA,EACQ,YAAY,aAA2B;AACzC,QAAA,KAAK,kBAAkB,GAAG;AAC5B,WAAK,gBAAgB;AACrB;AAAA,IACF;AAGM,UAAA,YAAY,cAAc,KAAK;AACrC,SAAK,gBAAgB;AAGhB,SAAA,iBAAiB,KAAK,SAAS;AACpC,QAAI,KAAK,iBAAiB,SAAS,KAAK,cAAc;AACpD,WAAK,iBAAiB;IACxB;AAGI,QAAA,KAAK,iBAAiB,SAAS;AAAI;AAGjC,UAAA,eAAe,KAAK,iBAAiB,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,KAAK,iBAAiB;AAG3F,UAAM,WAAW,KAAK,iBAAiB,OAAO,CAAC,KAAK,SAClD,MAAM,KAAK,IAAI,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB;AAC/D,UAAA,YAAY,KAAK,KAAK,QAAQ;AAGpC,QAAI,YAAY,GAAG;AACjB,WAAK,gBAAgB;AACrB;AAAA,IACF;AAGA,QAAI,eAAiC;AACrC,QAAI,eAAe;AAER,eAAA,QAAQ,KAAK,aAAa;AACnC,YAAM,OAAO,KAAK,IAAI,eAAe,KAAK,SAAS;AACnD,UAAI,OAAO,cAAc;AACR,uBAAA;AACA,uBAAA;AAAA,MACjB;AAAA,IACF;AAEA,QAAI,gBAAiB,eAAe,aAAa,aAAa,KAAK,iBAAkB;AACnF,WAAK,gBAAgB;AAAA,IAAA,OAChB;AACL,WAAK,gBAAgB;AAAA,IACvB;AAAA,EAEF;AAAA,EAEA,cAAc;;AACN,UAAA,cAAc,YAAY;AAE3B,SAAA,WAAW,KAAK,WAAW;AAGzB,WAAA,KAAK,WAAW,SAAS,KAAK,KAAK,WAAW,CAAC,KAAK,cAAc,KAAM;AAC7E,WAAK,WAAW;IAClB;AAGA,UAAM,MAAM,KAAK,MAAM,KAAK,WAAW,MAAM;AAExC,SAAA,aAAa,KAAK,KAAK,UAAU;AAEtC,UAAM,mBAAmB,eAAe,KAAK,eAAe,MAAO,KAAK;AACxE,UAAM,oBAAoB,eAAe,KAAK,gBAAgB,MAAO,KAAK;AAE1E,SAAK,sBAAsB,KAAK,UAAU,KAAK,YAAY,GAAG,kBAAkB,iBAAiB;AAC5F,SAAA,sBAAsB,KAAK,SAAS,KAAK,YAAY,KAAK,WAAW,kBAAkB,iBAAiB;AAC7G,QAAI,KAAK,UAAU;AACZ,WAAA,sBAAsB,KAAK,UAAU,KAAK,YAAY,KAAK,WAAW,kBAAkB,iBAAiB;AAAA,IAChH;AACA,QAAI,KAAK,iBAAiB;AACnB,WAAA,sBAAsB,KAAK,iBAAiB,KAAK,mBAAmB,KAAK,WAAW,kBAAkB,iBAAiB;AAAA,IAC9H;AAEA,QAAI,kBAAkB;AACpB,WAAK,eAAe;AAAA,IACtB;AACA,QAAI,mBAAmB;AACrB,WAAK,gBAAgB;AAAA,IACvB;AAEI,QAAA,KAAK,eAAe,MAAM;AAC5B,WAAK,YAAY,WAAW;AAEtB,YAAA,eAAa,UAAK,kBAAL,mBAAoB,gBAAe;AAElD,UAAA,oBAAoB,aAAa,GAAG;AACjC,aAAA,WAAW,OAAO,YAAY,UAAU;AAAA,MAC/C;AAAA,IACF;AAEO,WAAA;AAAA,EACT;AAAA,EAEQ,sBACNA,QACA,cACA,WACA,kBACA,mBACA;AACA,QAAI,CAACA,UAAS,aAAa,KAAK,WAAW;AAAG;AAG9C,QAAI,EAAEA,OAAM,QAAQ,KAAK,UAAU;AAC5B,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,UAAUA,OAAM,IAAI,IAAI;AAAA,IAC/B;AAEA,UAAM,eAAe,aAAa,KAAK,aAAa,KAAK,SAAS,CAAC;AAE9D,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,GAAG,aAAa,IAAI;AACnD,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,KAAK,QAAQA,OAAM,IAAI,GAAG,YAAY;AAErE,SAAA,UAAUA,OAAM,IAAI,IAAI,KAAK,UAAUA,OAAM,IAAI,IAAI,MAAM,eAAe;AAG/E,UAAM,WAAW,KAAK;AAAA,MACpB,KAAK,IAAI,GAAG,aAAa,IAAI;AAAA,MAC7B,GAAG,aAAa,MAAM,MAAM,CAAC,KAAK,YAAY;AAAA,IAAA;AAG3C,SAAA;AAGL,QAAI,kBAAkB;AACd,MAAAA,OAAA;AAAA,QACJ,KAAK,UAAUA,OAAM,IAAI;AAAA,QACzB,KAAK,QAAQA,OAAM,IAAI;AAAA,QACvB;AAAA,MAAA;AAAA,IAEJ;AAGA,QAAI,mBAAmB;AACf,MAAAA,OAAA;AAAA,QACJ;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AAAA,EAEA,eAAe,QAAgB;AAE7B,QAAI,OAAO,aAAa;AAEf,aAAA,YAAY,KAAK,MAAM;AAC9B,WAAK,wBAAwB;AAAA,IAE/B;AAAA,EAEF;AAAA,EAEA,aAAa,aAA6D,WAA+B,aAAqB;AAE5H,QAAI,OAAO,eAAe,aAAa,KAAK,uBAAuB;AAE1D,aAAA,YAAY,KAAK,SAAS;AACjC,YAAM,aAAa,YAAY,QAAQ,aAAa,aAAa,SAAS;AAC1E,WAAK,oBAAoB,WAAW;AACpC,WAAK,wBAAwB;AAAA,IAE/B;AAAA,EAEF;AAAA,EAEA,YAAYA,QAAgE,cAAmD,YAAY,GAAG;AAC5I,QAAI,CAACA,UAAS,aAAa,KAAK,WAAW;AAAG;AAExC,UAAA,cAAc,YAAY;AAGhC,QAAI,EAAEA,OAAM,QAAQ,KAAK,UAAU;AAC5B,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,UAAUA,OAAM,IAAI,IAAI;AAAA,IAC/B;AAGA,UAAM,eAAe,aAAa,KAAK,aAAa,KAAK,SAAS,CAAC;AAC7D,UAAA,YAAY,KAAK,IAAI,GAAG,aAAa,KAAK,MAAM,GAAG,CAAC;AAGrD,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,KAAK,QAAQA,OAAM,IAAI,GAAG,YAAY;AACrE,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,KAAK,QAAQA,OAAM,IAAI,GAAG,YAAY;AAGrE,SAAA,UAAUA,OAAM,IAAI,IAAI,KAAK,UAAUA,OAAM,IAAI,IAAI,MAAM,eAAe;AAGzE,UAAA,WAAW,KAAK,IAAI,WAAW,GAAG,aAAa,MAAM,MAAM,CAAC,KAAK,YAAY,CAAC;AAE/E,SAAA;AAGL,QAAI,KAAK,iBAAiB,KAAK,gBAAgB,OAAO,GAAG;AAClD,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,QAAQA,OAAM,IAAI,IAAI;AAAA,IAC7B;AAEA,QAAIA,OAAM,QAAQ;AAEhB,UAAI,eAAe,KAAK,cAAc,MAAO,KAAK,eAAe;AACzD,QAAAA,OAAA;AAAA,UACJ,KAAK,UAAUA,OAAM,IAAI;AAAA,UACzB;AAAA,UACA,KAAK,QAAQA,OAAM,IAAI;AAAA,UACvB;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAGA,UAAI,eAAe,KAAK,gBAAgB,MAAO,KAAK,iBAAiB;AAC7D,QAAAA,OAAA;AAAA,UACJ;AAAA,UACA;AAAA,QAAA;AAEF,aAAK,gBAAgB;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,iBAAuB;AAC7B,SAAK,aAAa,KAAK,kBAAkB,KAAK,UAAU;AACxD,SAAK,aAAa,KAAK,kBAAkB,KAAK,UAAU;AAExD,QAAI,KAAK,QAAQ,KAAK,4BAA4B,QAAW;AAC3D,WAAK,aAAa,KAAK,yBAAyB,KAAK,iBAAiB;AAAA,IACxE;AAAA,EACF;AAAA,EAEA,aAAa,OAAe,cAA0C;AAOvD,iBAAA,KAAK,KAAK,KAAK;AAC5B,QAAI,aAAa,KAAK,SAAS,KAAK,YAAY;AAC9C,mBAAa,OAAO,aAAa,KAAK,MAAM,CAAC,KAAK,UAAU;AAAA,IAC9D;AAGa,iBAAA,MAAM,KAAK,KAAK;AAC7B,QAAI,aAAa,MAAM,SAAS,KAAK,cAAc;AACjD,mBAAa,QAAQ,aAAa,MAAM,MAAM,CAAC,KAAK,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,IAAI,aAAa;AAEf,WAAO,KAAK;AAAA,EAEd;AAAA,EAEA,mBAAmB,UAAe;AAGhC,UAAM,uBAAuB,SAAS;AAGtC,UAAM,gBAAgB;AAGb,aAAA,SAAS,SAAU,OAAoB,QAAsB;AAGpE,oBAAc,MAAM;AAGC,2BAAA,KAAK,MAAM,OAAO,MAAM;AAE7C,oBAAc,IAAI;AAAA,IAAA;AAIpB,SAAK,uBAAuB;AAAA,EAE9B;AACF;AA7oBM,OAkEG,QAAQC,MAAAA;AAlEjB,IAAM,QAAN;;"}
1
+ {"version":3,"file":"main.cjs","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats","PanelVSync","panel","Panel"],"mappings":";;;AA2CA,MAAM,SAAN,MAAMA,QAAM;AAAA,EAqEV,YAAY;AAAA,IACV,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,aAAa;AAAA,IACb,OAAO;AAAA,EACT,IAAkB,IAAI;AAnEtB,SAAO,KAAoC;AAC3C,SAAO,MAAkB;AAEzB,SAAQ,cAAiC;AACzC,SAAQ,aAA0B;AAClC,SAAQ,uBAAuB;AAI/B,SAAQ,aAAuB;AAE/B,SAAQ,cAAc;AAEtB,SAAQ,mBAAmB;AAC3B,SAAQ,mBAAmB;AAC3B,SAAQ,0BAA0B;AAKlC,SAAQ,WAAyB;AACjC,SAAQ,kBAAgC;AACxC,SAAQ,aAAgC;AAExC,SAAO,aAA0B,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AACpD,SAAO,aAA0B,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AACpD,SAAO,aAA0B,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AACpD,SAAO,oBAAiC,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA;AAE3D,SAAQ,gBAAgB;AAExB,SAAQ,UAAqC;AAC7C,SAAQ,UAAqC;AAC7C,SAAQ,YAAuC;AAG/C,SAAiB,cAA2B;AAAA,MAC1C,EAAE,aAAa,IAAI,WAAW,MAAM;AAAA,MACpC,EAAE,aAAa,IAAI,WAAW,MAAM;AAAA,MACpC,EAAE,aAAa,IAAI,WAAW,MAAM;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,MACpC,EAAE,aAAa,KAAK,WAAW,KAAK;AAAA,IAAA;AAEtC,SAAQ,gBAAkC;AAC1C,SAAQ,mBAA6B;AACrC,SAAiB,eAAe;AAChC,SAAiB,kBAAkB;AACnC,SAAQ,gBAAwB;AA8ExB,SAAA,cAAc,CAAC,UAA4B;AACjD,YAAM,eAAe;AACrB,WAAK,UAAU,EAAE,KAAK,OAAO,KAAK,IAAI,SAAS,MAAM;AAAA,IAAA;AAGvD,SAAQ,eAAe,MAAY;AAC5B,WAAA,YAAY,KAAK,QAAQ;AACzB,WAAA,YAAY,KAAK,OAAO;AAC7B,UAAI,KAAK;AAAe,aAAA,YAAY,KAAK,QAAQ;AACjD,UAAI,KAAK;AAAsB,aAAA,YAAY,KAAK,eAAe;AAAA,IAAA;AApE/D,SAAK,OAAO;AACZ,SAAK,aAAa;AAClB,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,SAAK,UAAU;AACf,SAAK,aAAa;AAClB,SAAK,eAAe;AACpB,SAAK,YAAY;AACjB,SAAK,gBAAgB;AACrB,SAAK,kBAAkB;AACjB,UAAA,gBAAgB,YAAY;AAClC,SAAK,gBAAgB;AAGhB,SAAA,MAAM,SAAS,cAAc,KAAK;AACvC,SAAK,cAAc;AAGd,SAAA,YAAY,YAAY;AAC7B,SAAK,eAAe,KAAK;AAEzB,SAAK,cAAc,KAAK;AAExB,SAAK,WAAW;AAEX,SAAA,WAAW,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,CAAC;AAC/D,SAAA,UAAU,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,CAAC;AAE/D,QAAA,KAAK,YAAY,MAAM;AACzB,WAAK,aAAa,IAAIC,WAAAA,WAAW,IAAI,QAAQ,MAAM;AACnD,WAAK,IAAI,YAAY,KAAK,WAAW,MAAM;AACtC,WAAA,WAAW,UAAU,IAAI,EAAE;AAAA,IAClC;AAEA,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EAGQ,gBAAsB;AACvB,SAAA,IAAI,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMrB,KAAK,UAAU,qBAAqB,EAAE;AAAA;AAAA,EAE5C;AAAA,EAEQ,sBAA4B;AAClC,QAAI,KAAK,SAAS;AAChB,WAAK,IAAI,iBAAiB,SAAS,KAAK,WAAW;AAC9C,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA,OACnB;AACE,aAAA,iBAAiB,UAAU,KAAK,YAAY;AAAA,IACrD;AAAA,EACF;AAAA,EAcA,MAAa,KACX,YACe;AACf,QAAI,CAAC,YAAY;AACf,cAAQ,MAAM,6CAA6C;AAC3D;AAAA,IACF;AAEI,QAAA,KAAK,oBAAoB,UAAU;AAAG;AACtC,QAAA,MAAM,KAAK,qBAAqB,UAAU;AAAG;AAE7C,QAAA,KAAK,gBAAgB,UAAU,GAAG;AACpC,UAAI,KAAK,UAAU;AACjB,aAAK,sBAAsB;AAAA,MAC7B;AACA;AAAA,IAAA,OACK;AACL,cAAQ,MAAM,8CAA8C;AAAA,IAC9D;AAAA,EACF;AAAA,EAEQ,oBAAoB,UAAwB;AAClD,QAAI,SAAS,mBAAmB,CAAC,KAAK,sBAAsB;AAC1D,WAAK,mBAAmB,QAAQ;AAC3B,WAAA,KAAK,SAAS;AAEnB,UAAI,KAAK,UAAU;AACjB,aAAK,sBAAsB;AAAA,MAC7B;AACO,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EACT;AAAA,EAEA,MAAc,qBAAqB,UAAiC;AAClE,QAAI,SAAS,kBAAkB;AACzB,UAAA,KAAK,YAAY,KAAK,UAAU;AAClC,iBAAS,QAAQ,iBAAiB;AAClC,YAAI,MAAM,SAAS,gBAAgB,iBAAiB,GAAG;AACrD,eAAK,uBAAuB;AAAA,QAC9B;AAAA,MACF;AACA,WAAK,OAAO,SAAS;AACrB,WAAK,iBAAiB,QAAQ;AACvB,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,yBAA+B;AACrC,QAAI,KAAK,UAAU;AACZ,WAAA,WAAW,KAAK,SAAS,IAAID,QAAM,MAAM,OAAO,QAAQ,MAAM,CAAC;AAAA,IACtE;AACA,QAAI,KAAK,UAAU;AACZ,WAAA,kBAAkB,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,WAAW,SAAS,CAAC;AAAA,IACnF;AAAA,EACF;AAAA,EAEQ,gBACN,YACS;AACT,QAAI,sBAAsB,wBAAwB;AAChD,WAAK,KAAK;AAAA,IAEV,WAAA,sBAAsB,qBACtB,sBAAsB,iBACtB;AACK,WAAA,KAAK,WAAW,WAAW,QAAQ;AACpC,UAAA,CAAC,KAAK,IAAI;AACZ,gBAAQ,MAAM,yCAAyC;AAChD,eAAA;AAAA,MACT;AAAA,IAAA,OACK;AACG,cAAA;AAAA,QACN;AAAA,MAAA;AAEK,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,wBAA8B;AACpC,QAAI,KAAK,IAAI;AACX,WAAK,MAAM,KAAK,GAAG,aAAa,iCAAiC;AACjE,UAAI,KAAK,KAAK;AACP,aAAA,WAAW,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,CAAC;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AAAA,EAEO,QAAc;AACnB,SAAK,eAAe,aAAa;AAEjC,QAAI,CAAC,KAAK,MAAM,CAAC,KAAK;AAAK;AAE3B,QAAI,KAAK,aAAa;AACpB,WAAK,GAAG,SAAS,KAAK,IAAI,gBAAgB;AAAA,IAC5C;AAEK,SAAA,cAAc,KAAK,GAAG,YAAY;AACvC,QAAI,KAAK,aAAa;AACpB,WAAK,GAAG,WAAW,KAAK,IAAI,kBAAkB,KAAK,WAAW;AAAA,IAChE;AAAA,EACF;AAAA,EAEO,MAAY;AACZ,SAAA;AACL,QAAI,KAAK,MAAM,KAAK,OAAO,KAAK,aAAa;AAC3C,WAAK,GAAG,SAAS,KAAK,IAAI,gBAAgB;AAC1C,WAAK,WAAW,KAAK,EAAE,OAAO,KAAK,aAAa;AAChD,WAAK,cAAc;AAAA,IACrB;AAEK,SAAA,aAAa,eAAe,gBAAgB,cAAc;AAAA,EACjE;AAAA,EAEO,SAAe;AAGf,SAAA,aAAa,eAAe,gBAAgB,cAAc;AAE3D,QAAA,CAAC,KAAK,MAAM;AACd,WAAK,kBAAkB;AAAA,IAAA,OAClB;AACL,WAAK,wBAAwB;AAAA,IAC/B;AAEA,SAAK,eAAe;AACpB,SAAK,cAAc;AAAA,EACrB;AAAA,EAEQ,0BAAgC;AACjC,SAAA,mBAAmB,KAAK,KAAM,OAAO;AACrC,SAAA,0BAA0B,KAAK,KAAM,QAAQ;AAAA,EACpD;AAAA,EAEQ,gBAAsB;AAC5B,SAAK,cAAc;AACnB,SAAK,mBAAmB;AACnB,SAAA,YAAY,KAAK;EACxB;AAAA,EAEA,YAAYE,QAAc;AAElB,IAAAA,OAAA,OAAO,MAAM,WAAW;AAE9B,QAAI,KAAK,SAAS;AAEV,MAAAA,OAAA,OAAO,MAAM,UAAU;AAAA,IAAA,OAExB;AAEC,MAAAA,OAAA,OAAO,MAAM,UAAU;AAC7B,UAAI,KAAK,YAAY;AACb,QAAAA,OAAA,OAAO,MAAM,MAAM;AACnB,QAAAA,OAAA,OAAO,MAAM,OAAOA,OAAM,KAAKA,OAAM,QAAQA,OAAM,KAAK;AAAA,MAAA,OACzD;AACC,QAAAA,OAAA,OAAO,MAAM,OAAO;AACpB,QAAAA,OAAA,OAAO,MAAM,MAAMA,OAAM,KAAKA,OAAM,SAASA,OAAM,KAAK;AAAA,MAEhE;AAAA,IACF;AAAA,EAEF;AAAA,EACA,SAASA,QAAc;AAErB,QAAIA,OAAM,QAAQ;AAEX,WAAA,IAAI,YAAYA,OAAM,MAAM;AACjC,MAAAA,OAAM,KAAK,KAAK;AAChB,WAAK,YAAYA,MAAK;AAEjB,WAAA;AAAA,IACP;AAEO,WAAAA;AAAA,EAET;AAAA,EAEA,UAAU,IAAY;AAEpB,aAAS,IAAI,GAAG,IAAI,KAAK,IAAI,SAAS,QAAQ,KAAK;AACjD,YAAM,QAAQ,KAAK,IAAI,SAAS,CAAC;AAEjC,YAAM,MAAM,UAAU,MAAM,KAAK,UAAU;AAAA,IAE7C;AAEA,SAAK,OAAO;AAAA,EAEd;AAAA,EAEA,oBAAoB;AAGlB,QAAI,CAAC,KAAK,MAAM,CAAC,KAAK;AAAK;AAE3B,SAAK,mBAAmB;AAExB,SAAK,WAAW,QAAQ,CAAC,WAAW,UAAU;AAC5C,UAAI,KAAK,IAAI;AACL,cAAA,YAAY,KAAK,GAAG,kBAAkB,UAAU,OAAO,KAAK,GAAG,sBAAsB;AAC3F,cAAM,WAAW,KAAK,GAAG,aAAa,KAAK,IAAI,gBAAgB;AAE3D,YAAA,aAAa,CAAC,UAAU;AACpB,gBAAA,UAAU,KAAK,GAAG,kBAAkB,UAAU,OAAO,KAAK,GAAG,YAAY;AAC/E,gBAAM,WAAW,UAAU;AAC3B,eAAK,oBAAoB;AACpB,eAAA,GAAG,YAAY,UAAU,KAAK;AAC9B,eAAA,WAAW,OAAO,OAAO,CAAC;AAAA,QACjC;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAEH;AAAA,EACQ,YAAY,aAA2B;AACzC,QAAA,KAAK,kBAAkB,GAAG;AAC5B,WAAK,gBAAgB;AACrB;AAAA,IACF;AAGM,UAAA,YAAY,cAAc,KAAK;AACrC,SAAK,gBAAgB;AAGhB,SAAA,iBAAiB,KAAK,SAAS;AACpC,QAAI,KAAK,iBAAiB,SAAS,KAAK,cAAc;AACpD,WAAK,iBAAiB;IACxB;AAGI,QAAA,KAAK,iBAAiB,SAAS;AAAI;AAGjC,UAAA,eAAe,KAAK,iBAAiB,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,KAAK,iBAAiB;AAG3F,UAAM,WAAW,KAAK,iBAAiB,OAAO,CAAC,KAAK,SAClD,MAAM,KAAK,IAAI,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB;AAC/D,UAAA,YAAY,KAAK,KAAK,QAAQ;AAGpC,QAAI,YAAY,GAAG;AACjB,WAAK,gBAAgB;AACrB;AAAA,IACF;AAGA,QAAI,eAAiC;AACrC,QAAI,eAAe;AAER,eAAA,QAAQ,KAAK,aAAa;AACnC,YAAM,OAAO,KAAK,IAAI,eAAe,KAAK,SAAS;AACnD,UAAI,OAAO,cAAc;AACR,uBAAA;AACA,uBAAA;AAAA,MACjB;AAAA,IACF;AAEA,QAAI,gBAAiB,eAAe,aAAa,aAAa,KAAK,iBAAkB;AACnF,WAAK,gBAAgB;AAAA,IAAA,OAChB;AACL,WAAK,gBAAgB;AAAA,IACvB;AAAA,EAEF;AAAA,EAEA,cAAc;;AACN,UAAA,cAAc,YAAY;AAE3B,SAAA,WAAW,KAAK,WAAW;AAGzB,WAAA,KAAK,WAAW,SAAS,KAAK,KAAK,WAAW,CAAC,KAAK,cAAc,KAAM;AAC7E,WAAK,WAAW;IAClB;AAGA,UAAM,MAAM,KAAK,MAAM,KAAK,WAAW,MAAM;AAExC,SAAA,aAAa,KAAK,KAAK,UAAU;AAEtC,UAAM,mBAAmB,eAAe,KAAK,eAAe,MAAO,KAAK;AACxE,UAAM,oBAAoB,eAAe,KAAK,gBAAgB,MAAO,KAAK;AAE1E,SAAK,sBAAsB,KAAK,UAAU,KAAK,YAAY,GAAG,kBAAkB,iBAAiB;AAC5F,SAAA,sBAAsB,KAAK,SAAS,KAAK,YAAY,KAAK,WAAW,kBAAkB,iBAAiB;AAC7G,QAAI,KAAK,UAAU;AACZ,WAAA,sBAAsB,KAAK,UAAU,KAAK,YAAY,KAAK,WAAW,kBAAkB,iBAAiB;AAAA,IAChH;AACI,QAAA,KAAK,YAAY,KAAK,iBAAiB;AACpC,WAAA,sBAAsB,KAAK,iBAAiB,KAAK,mBAAmB,KAAK,WAAW,kBAAkB,iBAAiB;AAAA,IAC9H;AAEA,QAAI,kBAAkB;AACpB,WAAK,eAAe;AAAA,IACtB;AACA,QAAI,mBAAmB;AACrB,WAAK,gBAAgB;AAAA,IACvB;AAEI,QAAA,KAAK,eAAe,MAAM;AAC5B,WAAK,YAAY,WAAW;AAEtB,YAAA,eAAa,UAAK,kBAAL,mBAAoB,gBAAe;AAElD,UAAA,oBAAoB,aAAa,GAAG;AACjC,aAAA,WAAW,OAAO,YAAY,UAAU;AAAA,MAC/C;AAAA,IACF;AAEO,WAAA;AAAA,EACT;AAAA,EAEQ,sBACNA,QACA,cACA,WACA,kBACA,mBACA;AACA,QAAI,CAACA,UAAS,aAAa,KAAK,WAAW;AAAG;AAG9C,QAAI,EAAEA,OAAM,QAAQ,KAAK,UAAU;AAC5B,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,UAAUA,OAAM,IAAI,IAAI;AAAA,IAC/B;AAEA,UAAM,eAAe,aAAa,KAAK,aAAa,KAAK,SAAS,CAAC;AAE9D,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,GAAG,aAAa,IAAI;AACnD,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,KAAK,QAAQA,OAAM,IAAI,GAAG,YAAY;AAErE,SAAA,UAAUA,OAAM,IAAI,IAAI,KAAK,UAAUA,OAAM,IAAI,IAAI,MAAM,eAAe;AAG/E,UAAM,WAAW,KAAK;AAAA,MACpB,KAAK,IAAI,GAAG,aAAa,IAAI;AAAA,MAC7B,GAAG,aAAa,MAAM,MAAM,CAAC,KAAK,YAAY;AAAA,IAAA;AAG3C,SAAA;AAGL,QAAI,kBAAkB;AACd,MAAAA,OAAA;AAAA,QACJ,KAAK,UAAUA,OAAM,IAAI;AAAA,QACzB,KAAK,QAAQA,OAAM,IAAI;AAAA,QACvB;AAAA,MAAA;AAAA,IAEJ;AAGA,QAAI,mBAAmB;AACf,MAAAA,OAAA;AAAA,QACJ;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AAAA,EAEA,eAAe,QAAgB;AAE7B,QAAI,OAAO,aAAa;AAEf,aAAA,YAAY,KAAK,MAAM;AAAA,IAEhC;AAAA,EAEF;AAAA,EAEA,aAAa,aAA6D,WAA+B,aAAqB;AAExH,QAAA,OAAO,eAAe,WAAW;AAE5B,aAAA,YAAY,KAAK,SAAS;AACjC,YAAM,aAAa,YAAY,QAAQ,aAAa,aAAa,SAAS;AAC1E,WAAK,oBAAoB,WAAW;AAAA,IAEtC;AAAA,EAEF;AAAA,EAEA,YAAYA,QAAgE,cAAmD,YAAY,GAAG;AAC5I,QAAI,CAACA,UAAS,aAAa,KAAK,WAAW;AAAG;AAExC,UAAA,cAAc,YAAY;AAGhC,QAAI,EAAEA,OAAM,QAAQ,KAAK,UAAU;AAC5B,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,UAAUA,OAAM,IAAI,IAAI;AAAA,IAC/B;AAGA,UAAM,eAAe,aAAa,KAAK,aAAa,KAAK,SAAS,CAAC;AAC7D,UAAA,YAAY,KAAK,IAAI,GAAG,aAAa,KAAK,MAAM,GAAG,CAAC;AAGrD,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,KAAK,QAAQA,OAAM,IAAI,GAAG,YAAY;AACrE,SAAA,QAAQA,OAAM,IAAI,IAAI,KAAK,IAAI,KAAK,QAAQA,OAAM,IAAI,GAAG,YAAY;AAGrE,SAAA,UAAUA,OAAM,IAAI,IAAI,KAAK,UAAUA,OAAM,IAAI,IAAI,MAAM,eAAe;AAGzE,UAAA,WAAW,KAAK,IAAI,WAAW,GAAG,aAAa,MAAM,MAAM,CAAC,KAAK,YAAY,CAAC;AAE/E,SAAA;AAGL,QAAI,KAAK,iBAAiB,KAAK,gBAAgB,OAAO,GAAG;AAClD,WAAA,QAAQA,OAAM,IAAI,IAAI;AACtB,WAAA,QAAQA,OAAM,IAAI,IAAI;AAAA,IAC7B;AAEA,QAAIA,OAAM,QAAQ;AAEhB,UAAI,eAAe,KAAK,cAAc,MAAO,KAAK,eAAe;AACzD,QAAAA,OAAA;AAAA,UACJ,KAAK,UAAUA,OAAM,IAAI;AAAA,UACzB;AAAA,UACA,KAAK,QAAQA,OAAM,IAAI;AAAA,UACvB;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAGA,UAAI,eAAe,KAAK,gBAAgB,MAAO,KAAK,iBAAiB;AAC7D,QAAAA,OAAA;AAAA,UACJ;AAAA,UACA;AAAA,QAAA;AAEF,aAAK,gBAAgB;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,iBAAuB;AAE7B,SAAK,aAAa,KAAK,kBAAkB,KAAK,UAAU;AACxD,SAAK,aAAa,KAAK,kBAAkB,KAAK,UAAU;AAExD,QAAI,KAAK,QAAQ,KAAK,4BAA4B,QAAW;AAC3D,WAAK,aAAa,KAAK,yBAAyB,KAAK,iBAAiB;AAAA,IACxE;AAAA,EACF;AAAA,EAEA,aAAa,OAAe,cAA0C;AAOvD,iBAAA,KAAK,KAAK,KAAK;AAC5B,QAAI,aAAa,KAAK,SAAS,KAAK,YAAY;AAC9C,mBAAa,OAAO,aAAa,KAAK,MAAM,CAAC,KAAK,UAAU;AAAA,IAC9D;AAGa,iBAAA,MAAM,KAAK,KAAK;AAC7B,QAAI,aAAa,MAAM,SAAS,KAAK,cAAc;AACjD,mBAAa,QAAQ,aAAa,MAAM,MAAM,CAAC,KAAK,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,IAAI,aAAa;AAEf,WAAO,KAAK;AAAA,EAEd;AAAA,EAEA,iBAAiB,UAAe;AAExB,UAAA,wBAAwB,SAAS,KAAK;AAE5C,UAAM,gBAAgB;AAEb,aAAA,KAAK,QAAQ,WAAY;AAEhC,oBAAc,eAAe,aAAa;AAE1C,4BAAsB,KAAK,IAAI;AAAA,IAAA;AAAA,EAInC;AAAA,EAEA,mBAAmB,UAAe;AAGhC,UAAM,uBAAuB,SAAS;AAGtC,UAAM,gBAAgB;AAGb,aAAA,SAAS,SAAU,OAAoB,QAAsB;AAEpE,oBAAc,MAAM;AAGC,2BAAA,KAAK,MAAM,OAAO,MAAM;AAE7C,oBAAc,IAAI;AAAA,IAAA;AAKpB,SAAK,uBAAuB;AAAA,EAE9B;AACF;AA/pBM,OAmEG,QAAQC,MAAAA;AAnEjB,IAAM,QAAN;;"}
package/dist/main.js CHANGED
@@ -3,6 +3,7 @@ import { PanelVSync } from "./panelVsync.js";
3
3
  const _Stats = class _Stats2 {
4
4
  constructor({
5
5
  trackGPU = false,
6
+ trackCPT = false,
6
7
  trackHz = false,
7
8
  logsPerSecond = 4,
8
9
  graphsPerSecond = 30,
@@ -20,7 +21,6 @@ const _Stats = class _Stats2 {
20
21
  this.threeRendererPatched = false;
21
22
  this.frameTimes = [];
22
23
  this.renderCount = 0;
23
- this.isRunningCPUProfiling = false;
24
24
  this.totalCpuDuration = 0;
25
25
  this.totalGpuDuration = 0;
26
26
  this.totalGpuDurationCompute = 0;
@@ -54,17 +54,18 @@ const _Stats = class _Stats2 {
54
54
  this.showPanel(++this.mode % this.dom.children.length);
55
55
  };
56
56
  this.handleResize = () => {
57
- this.resizePanel(this.fpsPanel, 0);
58
- this.resizePanel(this.msPanel, 1);
57
+ this.resizePanel(this.fpsPanel);
58
+ this.resizePanel(this.msPanel);
59
59
  if (this.gpuPanel)
60
- this.resizePanel(this.gpuPanel, 2);
60
+ this.resizePanel(this.gpuPanel);
61
61
  if (this.gpuPanelCompute)
62
- this.resizePanel(this.gpuPanelCompute, 3);
62
+ this.resizePanel(this.gpuPanelCompute);
63
63
  };
64
64
  this.mode = mode;
65
65
  this.horizontal = horizontal;
66
66
  this.minimal = minimal;
67
67
  this.trackGPU = trackGPU;
68
+ this.trackCPT = trackCPT;
68
69
  this.trackHz = trackHz;
69
70
  this.samplesLog = samplesLog;
70
71
  this.samplesGraph = samplesGraph;
@@ -78,8 +79,9 @@ const _Stats = class _Stats2 {
78
79
  this.beginTime = performance.now();
79
80
  this.prevTextTime = this.beginTime;
80
81
  this.prevCpuTime = this.beginTime;
81
- this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"), 0);
82
- this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"), 1);
82
+ this._panelId = 0;
83
+ this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"));
84
+ this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"));
83
85
  if (this.trackHz === true) {
84
86
  this.vsyncPanel = new PanelVSync("", "#f0f", "#202");
85
87
  this.dom.appendChild(this.vsyncPanel.canvas);
@@ -136,23 +138,25 @@ const _Stats = class _Stats2 {
136
138
  }
137
139
  async handleWebGPURenderer(renderer) {
138
140
  if (renderer.isWebGPURenderer) {
139
- if (this.trackGPU) {
141
+ if (this.trackGPU || this.trackCPT) {
140
142
  renderer.backend.trackTimestamp = true;
141
143
  if (await renderer.hasFeatureAsync("timestamp-query")) {
142
144
  this.initializeWebGPUPanels();
143
145
  }
144
146
  }
145
147
  this.info = renderer.info;
148
+ this.patchThreeWebGPU(renderer);
146
149
  return true;
147
150
  }
148
151
  return false;
149
152
  }
150
153
  initializeWebGPUPanels() {
151
- this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
152
- this.gpuPanelCompute = this.addPanel(
153
- new _Stats2.Panel("CPT", "#e1e1e1", "#212121"),
154
- 3
155
- );
154
+ if (this.trackGPU) {
155
+ this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"));
156
+ }
157
+ if (this.trackCPT) {
158
+ this.gpuPanelCompute = this.addPanel(new _Stats2.Panel("CPT", "#e1e1e1", "#212121"));
159
+ }
156
160
  }
157
161
  initializeWebGL(canvasOrGL) {
158
162
  if (canvasOrGL instanceof WebGL2RenderingContext) {
@@ -175,14 +179,12 @@ const _Stats = class _Stats2 {
175
179
  if (this.gl) {
176
180
  this.ext = this.gl.getExtension("EXT_disjoint_timer_query_webgl2");
177
181
  if (this.ext) {
178
- this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
182
+ this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"));
179
183
  }
180
184
  }
181
185
  }
182
186
  begin() {
183
- if (!this.isRunningCPUProfiling) {
184
- this.beginProfiling("cpu-started");
185
- }
187
+ this.beginProfiling("cpu-started");
186
188
  if (!this.gl || !this.ext)
187
189
  return;
188
190
  if (this.activeQuery) {
@@ -200,11 +202,10 @@ const _Stats = class _Stats2 {
200
202
  this.gpuQueries.push({ query: this.activeQuery });
201
203
  this.activeQuery = null;
202
204
  }
205
+ this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
203
206
  }
204
207
  update() {
205
- if (this.isRunningCPUProfiling) {
206
- this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
207
- }
208
+ this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
208
209
  if (!this.info) {
209
210
  this.processGpuQueries();
210
211
  } else {
@@ -220,10 +221,9 @@ const _Stats = class _Stats2 {
220
221
  resetCounters() {
221
222
  this.renderCount = 0;
222
223
  this.totalCpuDuration = 0;
223
- this.beginProfiling("cpu-started");
224
224
  this.beginTime = this.endInternal();
225
225
  }
226
- resizePanel(panel, offset) {
226
+ resizePanel(panel) {
227
227
  panel.canvas.style.position = "absolute";
228
228
  if (this.minimal) {
229
229
  panel.canvas.style.display = "none";
@@ -231,17 +231,19 @@ const _Stats = class _Stats2 {
231
231
  panel.canvas.style.display = "block";
232
232
  if (this.horizontal) {
233
233
  panel.canvas.style.top = "0px";
234
- panel.canvas.style.left = offset * panel.WIDTH / panel.PR + "px";
234
+ panel.canvas.style.left = panel.id * panel.WIDTH / panel.PR + "px";
235
235
  } else {
236
236
  panel.canvas.style.left = "0px";
237
- panel.canvas.style.top = offset * panel.HEIGHT / panel.PR + "px";
237
+ panel.canvas.style.top = panel.id * panel.HEIGHT / panel.PR + "px";
238
238
  }
239
239
  }
240
240
  }
241
- addPanel(panel, offset) {
241
+ addPanel(panel) {
242
242
  if (panel.canvas) {
243
243
  this.dom.appendChild(panel.canvas);
244
- this.resizePanel(panel, offset);
244
+ panel.id = this._panelId;
245
+ this.resizePanel(panel);
246
+ this._panelId++;
245
247
  }
246
248
  return panel;
247
249
  }
@@ -321,7 +323,7 @@ const _Stats = class _Stats2 {
321
323
  if (this.gpuPanel) {
322
324
  this.updatePanelComponents(this.gpuPanel, this.averageGpu, this.precision, shouldUpdateText, shouldUpdateGraph);
323
325
  }
324
- if (this.gpuPanelCompute) {
326
+ if (this.trackCPT && this.gpuPanelCompute) {
325
327
  this.updatePanelComponents(this.gpuPanelCompute, this.averageGpuCompute, this.precision, shouldUpdateText, shouldUpdateGraph);
326
328
  }
327
329
  if (shouldUpdateText) {
@@ -373,15 +375,13 @@ const _Stats = class _Stats2 {
373
375
  beginProfiling(marker) {
374
376
  if (window.performance) {
375
377
  window.performance.mark(marker);
376
- this.isRunningCPUProfiling = true;
377
378
  }
378
379
  }
379
380
  endProfiling(startMarker, endMarker, measureName) {
380
- if (window.performance && endMarker && this.isRunningCPUProfiling) {
381
+ if (window.performance && endMarker) {
381
382
  window.performance.mark(endMarker);
382
383
  const cpuMeasure = performance.measure(measureName, startMarker, endMarker);
383
384
  this.totalCpuDuration += cpuMeasure.duration;
384
- this.isRunningCPUProfiling = false;
385
385
  }
386
386
  }
387
387
  updatePanel(panel, averageArray, precision = 2) {
@@ -443,6 +443,14 @@ const _Stats = class _Stats2 {
443
443
  get domElement() {
444
444
  return this.dom;
445
445
  }
446
+ patchThreeWebGPU(renderer) {
447
+ const originalAnimationLoop = renderer.info.reset;
448
+ const statsInstance = this;
449
+ renderer.info.reset = function() {
450
+ statsInstance.beginProfiling("cpu-started");
451
+ originalAnimationLoop.call(this);
452
+ };
453
+ }
446
454
  patchThreeRenderer(renderer) {
447
455
  const originalRenderMethod = renderer.render;
448
456
  const statsInstance = this;
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats"],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats"],"mappings":"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"}
package/dist/panel.cjs CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  class Panel {
4
4
  constructor(name, fg, bg) {
5
+ this.id = 0;
5
6
  this.name = name;
6
7
  this.fg = fg;
7
8
  this.bg = bg;
@@ -1 +1 @@
1
- {"version":3,"file":"panel.cjs","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":";;AAAA,MAAM,MAAM;AAAA,EAiBR,YAAY,MAAc,IAAY,IAAY;AAC9C,SAAK,OAAO;AACZ,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,WAAW;AAChB,SAAK,KAAK,KAAK,MAAM,OAAO,oBAAoB,CAAC;AAE5C,SAAA,QAAQ,KAAK,KAAK;AAClB,SAAA,SAAS,KAAK,KAAK;AACnB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,UAAU,IAAI,KAAK;AACnB,SAAA,UAAU,KAAK,KAAK;AACpB,SAAA,cAAc,KAAK,KAAK;AACxB,SAAA,eAAe,KAAK,KAAK;AAEzB,SAAA,SAAS,SAAS,cAAc,QAAQ;AACxC,SAAA,OAAO,QAAQ,KAAK;AACpB,SAAA,OAAO,SAAS,KAAK;AACrB,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA,OAAO,MAAM,SAAS;AACtB,SAAA,OAAO,MAAM,WAAW;AACxB,SAAA,OAAO,MAAM,UAAU;AAE5B,SAAK,UAAU,KAAK,OAAO,WAAW,IAAI;AAE1C,SAAK,iBAAiB;AAAA,EAC1B;AAAA,EAEQ,iBAAiC;AACrC,QAAI,CAAC,KAAK;AAAe,YAAA,IAAI,MAAM,YAAY;AAEzC,UAAA,WAAW,KAAK,QAAQ;AAAA,MAC1B;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,KAAK,UAAU,KAAK;AAAA,IAAA;AAGpB,QAAA;AACJ,UAAM,WAAmB,KAAK;AAEtB,YAAA,KAAK,GAAG,YAAe,GAAA;AAAA,MAC3B,KAAK;AACY,qBAAA;AACb;AAAA,MACJ,KAAK;AACY,qBAAA;AACb;AAAA,MACJ,KAAK;AACY,qBAAA;AACb;AAAA,MACJ,KAAK;AACY,qBAAA;AACb;AAAA,MACJ;AACI,qBAAa,KAAK;AAClB;AAAA,IACR;AAES,aAAA,aAAa,GAAG,UAAU;AAC1B,aAAA,aAAa,GAAG,QAAQ;AAE1B,WAAA;AAAA,EACX;AAAA,EAEO,mBAAmB;AACtB,QAAI,CAAC,KAAK;AAAS;AAEnB,SAAK,QAAQ,wBAAwB;AAErC,SAAK,QAAQ,OAAO,UAAW,IAAI,KAAK,KAAM;AAC9C,SAAK,QAAQ,eAAe;AAEvB,SAAA,WAAW,KAAK;AAEhB,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,MAAM;AAE9C,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,SAAS,KAAK,MAAM,KAAK,QAAQ,KAAK,MAAM;AAGpD,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AACtB,SAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAAA,EACzF;AAAA;AAAA,EAGO,OAAO,OAAe,UAAkB,WAAmB,GAAG;AACjE,QAAI,CAAC,KAAK,WAAW,CAAC,KAAK;AAAU;AAErC,UAAM,MAAM,KAAK,IAAI,UAAU,KAAK;AACpC,UAAM,MAAM,KAAK,IAAI,UAAU,KAAK;AAGpC,SAAK,QAAQ,cAAc;AACtB,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,OAAO;AAG/C,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ;AAAA,MACT,GAAG,MAAM,QAAQ,QAAQ,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,QAAQ,QAAQ,CAAC,IAAI,WAAW,IAAI,QAAQ,QAAQ,CAAC,CAAC;AAAA,MACtG,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEb;AAAA;AAAA,EAGO,YAAY,YAAoB,UAAkB;AACrD,QAAI,CAAC,KAAK,WAAW,CAAC,KAAK;AAAU;AAGjC,QAAA,eAAe,KAAK,aAAa,GAAG;AACzB,iBAAA;AAAA,IACf;AAGA,eAAW,KAAK,IAAI,UAAU,YAAY,GAAG;AAChC,iBAAA,KAAK,IAAI,YAAY,CAAC;AAGnC,UAAM,SAAS,KAAK,MAAM,KAAK,OAAO;AACtC,UAAM,SAAS,KAAK,MAAM,KAAK,OAAO;AACtC,UAAM,aAAa,KAAK,MAAM,KAAK,WAAW;AAC9C,UAAM,cAAc,KAAK,MAAM,KAAK,YAAY;AAChD,UAAM,KAAK,KAAK,MAAM,KAAK,EAAE;AAG7B,SAAK,QAAQ;AAAA,MACT,KAAK;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb;AAAA,IAAA;AAIC,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ;AAAA,MACT,SAAS,aAAa;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAIJ,UAAM,eAAe,KAAK;AAAA,MACtB;AAAA,MACA,KAAK,MAAM,aAAa,WAAW,WAAW;AAAA,IAAA;AAIlD,QAAI,eAAe,GAAG;AAClB,WAAK,QAAQ,cAAc;AACtB,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ;AAAA,QACT,SAAS,aAAa;AAAA,QACtB,UAAU,cAAc;AAAA,QACxB;AAAA,QACA;AAAA,MAAA;AAAA,IAER;AAEA,SAAK,QAAQ,cAAc;AAAA,EAC/B;AACJ;;"}
1
+ {"version":3,"file":"panel.cjs","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
package/dist/panel.js CHANGED
@@ -1,5 +1,6 @@
1
1
  class Panel {
2
2
  constructor(name, fg, bg) {
3
+ this.id = 0;
3
4
  this.name = name;
4
5
  this.fg = fg;
5
6
  this.bg = bg;
package/dist/panel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.js","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ declare class Panel {
5
5
  fg: string;
6
6
  bg: string;
7
7
  gradient: CanvasGradient | null;
8
+ id: number;
8
9
  PR: number;
9
10
  WIDTH: number;
10
11
  HEIGHT: number;
@@ -23,6 +24,7 @@ declare class Panel {
23
24
 
24
25
  interface StatsOptions {
25
26
  trackGPU?: boolean;
27
+ trackCPT?: boolean;
26
28
  trackHz?: boolean;
27
29
  logsPerSecond?: number;
28
30
  graphsPerSecond?: number;
@@ -52,6 +54,7 @@ declare class Stats {
52
54
  minimal: boolean;
53
55
  trackGPU: boolean;
54
56
  trackHz: boolean;
57
+ trackCPT: boolean;
55
58
  samplesLog: number;
56
59
  samplesGraph: number;
57
60
  precision: number;
@@ -67,10 +70,10 @@ declare class Stats {
67
70
  private prevCpuTime;
68
71
  private frameTimes;
69
72
  private renderCount;
70
- private isRunningCPUProfiling;
71
73
  private totalCpuDuration;
72
74
  private totalGpuDuration;
73
75
  private totalGpuDurationCompute;
76
+ private _panelId;
74
77
  private fpsPanel;
75
78
  private msPanel;
76
79
  private gpuPanel;
@@ -93,7 +96,7 @@ declare class Stats {
93
96
  private readonly VSYNC_THRESHOLD;
94
97
  private lastFrameTime;
95
98
  static Panel: typeof Panel;
96
- constructor({ trackGPU, trackHz, logsPerSecond, graphsPerSecond, samplesLog, samplesGraph, precision, minimal, horizontal, mode }?: StatsOptions);
99
+ constructor({ trackGPU, trackCPT, trackHz, logsPerSecond, graphsPerSecond, samplesLog, samplesGraph, precision, minimal, horizontal, mode }?: StatsOptions);
97
100
  private initializeDOM;
98
101
  private setupEventListeners;
99
102
  private handleClick;
@@ -109,8 +112,8 @@ declare class Stats {
109
112
  update(): void;
110
113
  private processWebGPUTimestamps;
111
114
  private resetCounters;
112
- resizePanel(panel: Panel, offset: number): void;
113
- addPanel(panel: Panel, offset: number): Panel;
115
+ resizePanel(panel: Panel): void;
116
+ addPanel(panel: Panel): Panel;
114
117
  showPanel(id: number): void;
115
118
  processGpuQueries(): void;
116
119
  private detectVSync;
@@ -132,6 +135,7 @@ declare class Stats {
132
135
  graph: any;
133
136
  }): void;
134
137
  get domElement(): HTMLDivElement;
138
+ patchThreeWebGPU(renderer: any): void;
135
139
  patchThreeRenderer(renderer: any): void;
136
140
  }
137
141
 
package/lib/main.ts CHANGED
@@ -4,6 +4,7 @@ import { PanelVSync } from './panelVsync';
4
4
 
5
5
  interface StatsOptions {
6
6
  trackGPU?: boolean;
7
+ trackCPT?: boolean;
7
8
  trackHz?: boolean;
8
9
  logsPerSecond?: number;
9
10
  graphsPerSecond?: number;
@@ -47,6 +48,7 @@ class Stats {
47
48
  public minimal: boolean;
48
49
  public trackGPU: boolean;
49
50
  public trackHz: boolean;
51
+ public trackCPT: boolean;
50
52
  public samplesLog: number;
51
53
  public samplesGraph: number;
52
54
  public precision: number;
@@ -65,12 +67,12 @@ class Stats {
65
67
  private frameTimes: number[] = []; // Store frame timestamps
66
68
 
67
69
  private renderCount = 0;
68
- private isRunningCPUProfiling = false;
69
70
 
70
71
  private totalCpuDuration = 0;
71
72
  private totalGpuDuration = 0;
72
73
  private totalGpuDurationCompute = 0;
73
74
 
75
+ private _panelId: number;
74
76
  private fpsPanel: Panel;
75
77
  private msPanel: Panel;
76
78
  private gpuPanel: Panel | null = null;
@@ -110,6 +112,7 @@ class Stats {
110
112
 
111
113
  constructor({
112
114
  trackGPU = false,
115
+ trackCPT = false,
113
116
  trackHz = false,
114
117
  logsPerSecond = 4,
115
118
  graphsPerSecond = 30,
@@ -124,6 +127,7 @@ class Stats {
124
127
  this.horizontal = horizontal;
125
128
  this.minimal = minimal;
126
129
  this.trackGPU = trackGPU;
130
+ this.trackCPT = trackCPT;
127
131
  this.trackHz = trackHz;
128
132
  this.samplesLog = samplesLog;
129
133
  this.samplesGraph = samplesGraph;
@@ -143,9 +147,10 @@ class Stats {
143
147
 
144
148
  this.prevCpuTime = this.beginTime;
145
149
 
150
+ this._panelId = 0
146
151
  // Create panels
147
- this.fpsPanel = this.addPanel(new Stats.Panel('FPS', '#0ff', '#002'), 0);
148
- this.msPanel = this.addPanel(new Stats.Panel('CPU', '#0f0', '#020'), 1);
152
+ this.fpsPanel = this.addPanel(new Stats.Panel('FPS', '#0ff', '#002'));
153
+ this.msPanel = this.addPanel(new Stats.Panel('CPU', '#0f0', '#020'));
149
154
 
150
155
  if (this.trackHz === true) {
151
156
  this.vsyncPanel = new PanelVSync('', '#f0f', '#202');
@@ -183,10 +188,10 @@ class Stats {
183
188
  };
184
189
 
185
190
  private handleResize = (): void => {
186
- this.resizePanel(this.fpsPanel, 0);
187
- this.resizePanel(this.msPanel, 1);
188
- if (this.gpuPanel) this.resizePanel(this.gpuPanel, 2);
189
- if (this.gpuPanelCompute) this.resizePanel(this.gpuPanelCompute, 3);
191
+ this.resizePanel(this.fpsPanel);
192
+ this.resizePanel(this.msPanel);
193
+ if (this.gpuPanel) this.resizePanel(this.gpuPanel);
194
+ if (this.gpuPanelCompute) this.resizePanel(this.gpuPanelCompute);
190
195
  };
191
196
 
192
197
  public async init(
@@ -225,24 +230,26 @@ class Stats {
225
230
 
226
231
  private async handleWebGPURenderer(renderer: any): Promise<boolean> {
227
232
  if (renderer.isWebGPURenderer) {
228
- if (this.trackGPU) {
233
+ if (this.trackGPU || this.trackCPT) {
229
234
  renderer.backend.trackTimestamp = true;
230
235
  if (await renderer.hasFeatureAsync('timestamp-query')) {
231
236
  this.initializeWebGPUPanels();
232
237
  }
233
238
  }
234
239
  this.info = renderer.info;
240
+ this.patchThreeWebGPU(renderer);
235
241
  return true;
236
242
  }
237
243
  return false;
238
244
  }
239
245
 
240
246
  private initializeWebGPUPanels(): void {
241
- this.gpuPanel = this.addPanel(new Stats.Panel('GPU', '#ff0', '#220'), 2);
242
- this.gpuPanelCompute = this.addPanel(
243
- new Stats.Panel('CPT', '#e1e1e1', '#212121'),
244
- 3
245
- );
247
+ if (this.trackGPU) {
248
+ this.gpuPanel = this.addPanel(new Stats.Panel('GPU', '#ff0', '#220'));
249
+ }
250
+ if (this.trackCPT) {
251
+ this.gpuPanelCompute = this.addPanel(new Stats.Panel('CPT', '#e1e1e1', '#212121'));
252
+ }
246
253
  }
247
254
 
248
255
  private initializeWebGL(
@@ -272,15 +279,13 @@ class Stats {
272
279
  if (this.gl) {
273
280
  this.ext = this.gl.getExtension('EXT_disjoint_timer_query_webgl2');
274
281
  if (this.ext) {
275
- this.gpuPanel = this.addPanel(new Stats.Panel('GPU', '#ff0', '#220'), 2);
282
+ this.gpuPanel = this.addPanel(new Stats.Panel('GPU', '#ff0', '#220'));
276
283
  }
277
284
  }
278
285
  }
279
286
 
280
287
  public begin(): void {
281
- if (!this.isRunningCPUProfiling) {
282
- this.beginProfiling('cpu-started');
283
- }
288
+ this.beginProfiling('cpu-started');
284
289
 
285
290
  if (!this.gl || !this.ext) return;
286
291
 
@@ -301,15 +306,14 @@ class Stats {
301
306
  this.gpuQueries.push({ query: this.activeQuery });
302
307
  this.activeQuery = null;
303
308
  }
309
+
310
+ this.endProfiling('cpu-started', 'cpu-finished', 'cpu-duration');
304
311
  }
305
312
 
306
313
  public update(): void {
307
- // Always end the current CPU profiling if it's running
308
- if (this.isRunningCPUProfiling) {
309
- this.endProfiling('cpu-started', 'cpu-finished', 'cpu-duration');
310
- // Add to averages immediately after getting the duration
311
- // this.addToAverage(this.totalCpuDuration, this.averageCpu);
312
- }
314
+
315
+
316
+ this.endProfiling('cpu-started', 'cpu-finished', 'cpu-duration');
313
317
 
314
318
  if (!this.info) {
315
319
  this.processGpuQueries();
@@ -329,11 +333,10 @@ class Stats {
329
333
  private resetCounters(): void {
330
334
  this.renderCount = 0;
331
335
  this.totalCpuDuration = 0;
332
- this.beginProfiling('cpu-started');
333
336
  this.beginTime = this.endInternal();
334
337
  }
335
338
 
336
- resizePanel(panel: Panel, offset: number) {
339
+ resizePanel(panel: Panel) {
337
340
 
338
341
  panel.canvas.style.position = 'absolute';
339
342
 
@@ -346,23 +349,24 @@ class Stats {
346
349
  panel.canvas.style.display = 'block';
347
350
  if (this.horizontal) {
348
351
  panel.canvas.style.top = '0px';
349
- panel.canvas.style.left = offset * panel.WIDTH / panel.PR + 'px';
352
+ panel.canvas.style.left = panel.id * panel.WIDTH / panel.PR + 'px';
350
353
  } else {
351
354
  panel.canvas.style.left = '0px';
352
- panel.canvas.style.top = offset * panel.HEIGHT / panel.PR + 'px';
355
+ panel.canvas.style.top = panel.id * panel.HEIGHT / panel.PR + 'px';
353
356
 
354
357
  }
355
358
  }
356
359
 
357
360
  }
358
- addPanel(panel: Panel, offset: number) {
361
+ addPanel(panel: Panel) {
359
362
 
360
363
  if (panel.canvas) {
361
364
 
362
365
  this.dom.appendChild(panel.canvas);
366
+ panel.id = this._panelId;
367
+ this.resizePanel(panel);
363
368
 
364
- this.resizePanel(panel, offset);
365
-
369
+ this._panelId++;
366
370
  }
367
371
 
368
372
  return panel;
@@ -481,7 +485,7 @@ class Stats {
481
485
  if (this.gpuPanel) {
482
486
  this.updatePanelComponents(this.gpuPanel, this.averageGpu, this.precision, shouldUpdateText, shouldUpdateGraph);
483
487
  }
484
- if (this.gpuPanelCompute) {
488
+ if (this.trackCPT && this.gpuPanelCompute) {
485
489
  this.updatePanelComponents(this.gpuPanelCompute, this.averageGpuCompute, this.precision, shouldUpdateText, shouldUpdateGraph);
486
490
  }
487
491
 
@@ -559,7 +563,6 @@ class Stats {
559
563
  if (window.performance) {
560
564
 
561
565
  window.performance.mark(marker);
562
- this.isRunningCPUProfiling = true
563
566
 
564
567
  }
565
568
 
@@ -567,12 +570,11 @@ class Stats {
567
570
 
568
571
  endProfiling(startMarker: string | PerformanceMeasureOptions | undefined, endMarker: string | undefined, measureName: string) {
569
572
 
570
- if (window.performance && endMarker && this.isRunningCPUProfiling) {
573
+ if (window.performance && endMarker) {
571
574
 
572
575
  window.performance.mark(endMarker);
573
576
  const cpuMeasure = performance.measure(measureName, startMarker, endMarker);
574
577
  this.totalCpuDuration += cpuMeasure.duration;
575
- this.isRunningCPUProfiling = false
576
578
 
577
579
  }
578
580
 
@@ -636,6 +638,7 @@ class Stats {
636
638
  }
637
639
 
638
640
  private updateAverages(): void {
641
+
639
642
  this.addToAverage(this.totalCpuDuration, this.averageCpu);
640
643
  this.addToAverage(this.totalGpuDuration, this.averageGpu);
641
644
  // Add GPU Compute to the main update flow
@@ -646,7 +649,7 @@ class Stats {
646
649
 
647
650
  addToAverage(value: number, averageArray: { logs: any; graph: any; }) {
648
651
  // Validate value
649
- // if (value === undefined || value === null || isNaN(value)) {
652
+ // if (value === undefined || value === null || isNaN(value) || value === 0) {
650
653
  // return;
651
654
  // }
652
655
 
@@ -669,6 +672,22 @@ class Stats {
669
672
 
670
673
  }
671
674
 
675
+ patchThreeWebGPU(renderer: any) {
676
+
677
+ const originalAnimationLoop = renderer.info.reset
678
+
679
+ const statsInstance = this;
680
+
681
+ renderer.info.reset = function () {
682
+
683
+ statsInstance.beginProfiling('cpu-started');
684
+
685
+ originalAnimationLoop.call(this);
686
+
687
+ }
688
+
689
+ }
690
+
672
691
  patchThreeRenderer(renderer: any) {
673
692
 
674
693
  // Store the original render method
@@ -680,13 +699,13 @@ class Stats {
680
699
  // Override the render method on the prototype
681
700
  renderer.render = function (scene: THREE.Scene, camera: THREE.Camera) {
682
701
 
683
-
684
702
  statsInstance.begin(); // Start tracking for this render call
685
703
 
686
704
  // Call the original render method
687
705
  originalRenderMethod.call(this, scene, camera);
688
706
 
689
707
  statsInstance.end(); // End tracking for this render call
708
+
690
709
  };
691
710
 
692
711
 
package/lib/panel.ts CHANGED
@@ -5,6 +5,7 @@ class Panel {
5
5
  fg: string;
6
6
  bg: string;
7
7
  gradient: CanvasGradient | null;
8
+ id: number = 0;
8
9
  PR: number;
9
10
  WIDTH: number;
10
11
  HEIGHT: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stats-gl",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "type": "module",
5
5
  "author": "Renaud ROHLINGER (https://github.com/RenaudRohlinger)",
6
6
  "homepage": "https://github.com/RenaudRohlinger/stats-gl",