stats-gl 2.1.0 → 2.2.1
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/dist/main.cjs +19 -2
- package/dist/main.cjs.map +1 -1
- package/dist/main.js +19 -2
- package/dist/main.js.map +1 -1
- package/dist/stats-gl.d.ts +3 -0
- package/lib/main.ts +24 -2
- package/package.json +8 -8
package/dist/main.cjs
CHANGED
|
@@ -4,6 +4,7 @@ const _Stats = class _Stats2 {
|
|
|
4
4
|
constructor({ logsPerSecond = 20, samplesLog = 100, samplesGraph = 10, precision = 2, minimal = false, horizontal = true, mode = 0 } = {}) {
|
|
5
5
|
this.totalCpuDuration = 0;
|
|
6
6
|
this.totalGpuDuration = 0;
|
|
7
|
+
this.totalGpuDurationCompute = 0;
|
|
7
8
|
this.totalFps = 0;
|
|
8
9
|
this.activeQuery = null;
|
|
9
10
|
this.gpuQueries = [];
|
|
@@ -33,10 +34,15 @@ const _Stats = class _Stats2 {
|
|
|
33
34
|
logs: [],
|
|
34
35
|
graph: []
|
|
35
36
|
};
|
|
37
|
+
this.averageGpuCompute = {
|
|
38
|
+
logs: [],
|
|
39
|
+
graph: []
|
|
40
|
+
};
|
|
36
41
|
this.queryCreated = false;
|
|
37
42
|
this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"), 0);
|
|
38
43
|
this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"), 1);
|
|
39
44
|
this.gpuPanel = null;
|
|
45
|
+
this.gpuPanelCompute = null;
|
|
40
46
|
this.samplesLog = samplesLog;
|
|
41
47
|
this.samplesGraph = samplesGraph;
|
|
42
48
|
this.precision = precision;
|
|
@@ -55,6 +61,9 @@ const _Stats = class _Stats2 {
|
|
|
55
61
|
if (this.gpuPanel) {
|
|
56
62
|
this.resizePanel(this.gpuPanel, 2);
|
|
57
63
|
}
|
|
64
|
+
if (this.gpuPanelCompute) {
|
|
65
|
+
this.resizePanel(this.gpuPanelCompute, 3);
|
|
66
|
+
}
|
|
58
67
|
});
|
|
59
68
|
}
|
|
60
69
|
}
|
|
@@ -63,7 +72,8 @@ const _Stats = class _Stats2 {
|
|
|
63
72
|
const statsInstance = this;
|
|
64
73
|
renderer.render = function(scene, camera) {
|
|
65
74
|
if (statsInstance.info !== void 0) {
|
|
66
|
-
statsInstance.totalGpuDuration = this.info.timestamp.
|
|
75
|
+
statsInstance.totalGpuDuration = this.info.timestamp.render;
|
|
76
|
+
statsInstance.totalGpuDurationCompute = this.info.timestamp.compute;
|
|
67
77
|
}
|
|
68
78
|
statsInstance.begin();
|
|
69
79
|
originalRenderMethod.call(this, scene, camera);
|
|
@@ -73,7 +83,8 @@ const _Stats = class _Stats2 {
|
|
|
73
83
|
const originalRenderAsyncMethod = renderer.renderAsync;
|
|
74
84
|
renderer.renderAsync = function(scene, camera) {
|
|
75
85
|
if (statsInstance.info !== void 0) {
|
|
76
|
-
statsInstance.totalGpuDuration = this.info.timestamp.
|
|
86
|
+
statsInstance.totalGpuDuration = this.info.timestamp.render;
|
|
87
|
+
statsInstance.totalGpuDurationCompute = this.info.timestamp.compute;
|
|
77
88
|
}
|
|
78
89
|
statsInstance.begin();
|
|
79
90
|
originalRenderAsyncMethod.call(this, scene, camera);
|
|
@@ -127,6 +138,7 @@ const _Stats = class _Stats2 {
|
|
|
127
138
|
canvasOrGL.backend.trackTimestamp = true;
|
|
128
139
|
if (await canvasOrGL.hasFeatureAsync("timestamp-query")) {
|
|
129
140
|
this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
|
|
141
|
+
this.gpuPanelCompute = this.addPanel(new _Stats2.Panel("COM", "#e1e1e1", "#212121"), 3);
|
|
130
142
|
this.info = canvasOrGL.info;
|
|
131
143
|
}
|
|
132
144
|
return;
|
|
@@ -195,7 +207,9 @@ const _Stats = class _Stats2 {
|
|
|
195
207
|
this.renderCount = 0;
|
|
196
208
|
this.totalCpuDuration = 0;
|
|
197
209
|
if (this.info === void 0) {
|
|
210
|
+
this.addToAverage(this.totalGpuDurationCompute, this.averageGpuCompute);
|
|
198
211
|
this.totalGpuDuration = 0;
|
|
212
|
+
this.totalGpuDurationCompute = 0;
|
|
199
213
|
}
|
|
200
214
|
this.totalFps = 0;
|
|
201
215
|
this.beginTime = this.endInternal();
|
|
@@ -206,6 +220,9 @@ const _Stats = class _Stats2 {
|
|
|
206
220
|
if (time >= this.prevCpuTime + 1e3 / this.logsPerSecond) {
|
|
207
221
|
this.updatePanel(this.msPanel, this.averageCpu);
|
|
208
222
|
this.updatePanel(this.gpuPanel, this.averageGpu);
|
|
223
|
+
if (this.gpuPanelCompute) {
|
|
224
|
+
this.updatePanel(this.gpuPanelCompute, this.averageGpuCompute);
|
|
225
|
+
}
|
|
209
226
|
this.prevCpuTime = time;
|
|
210
227
|
}
|
|
211
228
|
if (time >= this.prevTime + 1e3) {
|
package/dist/main.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.cjs","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats","panel","Panel"],"mappings":";;AAQA,MAAM,SAAN,MAAMA,QAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"main.cjs","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats","panel","Panel"],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -3,6 +3,7 @@ const _Stats = class _Stats2 {
|
|
|
3
3
|
constructor({ logsPerSecond = 20, samplesLog = 100, samplesGraph = 10, precision = 2, minimal = false, horizontal = true, mode = 0 } = {}) {
|
|
4
4
|
this.totalCpuDuration = 0;
|
|
5
5
|
this.totalGpuDuration = 0;
|
|
6
|
+
this.totalGpuDurationCompute = 0;
|
|
6
7
|
this.totalFps = 0;
|
|
7
8
|
this.activeQuery = null;
|
|
8
9
|
this.gpuQueries = [];
|
|
@@ -32,10 +33,15 @@ const _Stats = class _Stats2 {
|
|
|
32
33
|
logs: [],
|
|
33
34
|
graph: []
|
|
34
35
|
};
|
|
36
|
+
this.averageGpuCompute = {
|
|
37
|
+
logs: [],
|
|
38
|
+
graph: []
|
|
39
|
+
};
|
|
35
40
|
this.queryCreated = false;
|
|
36
41
|
this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"), 0);
|
|
37
42
|
this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"), 1);
|
|
38
43
|
this.gpuPanel = null;
|
|
44
|
+
this.gpuPanelCompute = null;
|
|
39
45
|
this.samplesLog = samplesLog;
|
|
40
46
|
this.samplesGraph = samplesGraph;
|
|
41
47
|
this.precision = precision;
|
|
@@ -54,6 +60,9 @@ const _Stats = class _Stats2 {
|
|
|
54
60
|
if (this.gpuPanel) {
|
|
55
61
|
this.resizePanel(this.gpuPanel, 2);
|
|
56
62
|
}
|
|
63
|
+
if (this.gpuPanelCompute) {
|
|
64
|
+
this.resizePanel(this.gpuPanelCompute, 3);
|
|
65
|
+
}
|
|
57
66
|
});
|
|
58
67
|
}
|
|
59
68
|
}
|
|
@@ -62,7 +71,8 @@ const _Stats = class _Stats2 {
|
|
|
62
71
|
const statsInstance = this;
|
|
63
72
|
renderer.render = function(scene, camera) {
|
|
64
73
|
if (statsInstance.info !== void 0) {
|
|
65
|
-
statsInstance.totalGpuDuration = this.info.timestamp.
|
|
74
|
+
statsInstance.totalGpuDuration = this.info.timestamp.render;
|
|
75
|
+
statsInstance.totalGpuDurationCompute = this.info.timestamp.compute;
|
|
66
76
|
}
|
|
67
77
|
statsInstance.begin();
|
|
68
78
|
originalRenderMethod.call(this, scene, camera);
|
|
@@ -72,7 +82,8 @@ const _Stats = class _Stats2 {
|
|
|
72
82
|
const originalRenderAsyncMethod = renderer.renderAsync;
|
|
73
83
|
renderer.renderAsync = function(scene, camera) {
|
|
74
84
|
if (statsInstance.info !== void 0) {
|
|
75
|
-
statsInstance.totalGpuDuration = this.info.timestamp.
|
|
85
|
+
statsInstance.totalGpuDuration = this.info.timestamp.render;
|
|
86
|
+
statsInstance.totalGpuDurationCompute = this.info.timestamp.compute;
|
|
76
87
|
}
|
|
77
88
|
statsInstance.begin();
|
|
78
89
|
originalRenderAsyncMethod.call(this, scene, camera);
|
|
@@ -126,6 +137,7 @@ const _Stats = class _Stats2 {
|
|
|
126
137
|
canvasOrGL.backend.trackTimestamp = true;
|
|
127
138
|
if (await canvasOrGL.hasFeatureAsync("timestamp-query")) {
|
|
128
139
|
this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
|
|
140
|
+
this.gpuPanelCompute = this.addPanel(new _Stats2.Panel("COM", "#e1e1e1", "#212121"), 3);
|
|
129
141
|
this.info = canvasOrGL.info;
|
|
130
142
|
}
|
|
131
143
|
return;
|
|
@@ -194,7 +206,9 @@ const _Stats = class _Stats2 {
|
|
|
194
206
|
this.renderCount = 0;
|
|
195
207
|
this.totalCpuDuration = 0;
|
|
196
208
|
if (this.info === void 0) {
|
|
209
|
+
this.addToAverage(this.totalGpuDurationCompute, this.averageGpuCompute);
|
|
197
210
|
this.totalGpuDuration = 0;
|
|
211
|
+
this.totalGpuDurationCompute = 0;
|
|
198
212
|
}
|
|
199
213
|
this.totalFps = 0;
|
|
200
214
|
this.beginTime = this.endInternal();
|
|
@@ -205,6 +219,9 @@ const _Stats = class _Stats2 {
|
|
|
205
219
|
if (time >= this.prevCpuTime + 1e3 / this.logsPerSecond) {
|
|
206
220
|
this.updatePanel(this.msPanel, this.averageCpu);
|
|
207
221
|
this.updatePanel(this.gpuPanel, this.averageGpu);
|
|
222
|
+
if (this.gpuPanelCompute) {
|
|
223
|
+
this.updatePanel(this.gpuPanelCompute, this.averageGpuCompute);
|
|
224
|
+
}
|
|
208
225
|
this.prevCpuTime = time;
|
|
209
226
|
}
|
|
210
227
|
if (time >= this.prevTime + 1e3) {
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats"],"mappings":";AAQA,MAAM,SAAN,MAAMA,QAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats"],"mappings":"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"}
|
package/dist/stats-gl.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ interface AverageArray {
|
|
|
24
24
|
declare class Stats {
|
|
25
25
|
totalCpuDuration: number;
|
|
26
26
|
totalGpuDuration: number;
|
|
27
|
+
totalGpuDurationCompute: number;
|
|
27
28
|
totalFps: number;
|
|
28
29
|
mode: number;
|
|
29
30
|
info: any;
|
|
@@ -36,12 +37,14 @@ declare class Stats {
|
|
|
36
37
|
frames: number;
|
|
37
38
|
averageCpu: AverageArray;
|
|
38
39
|
averageGpu: AverageArray;
|
|
40
|
+
averageGpuCompute: AverageArray;
|
|
39
41
|
queryCreated: boolean;
|
|
40
42
|
isRunningCPUProfiling: boolean;
|
|
41
43
|
fpsPanel: Panel;
|
|
42
44
|
static Panel: typeof Panel;
|
|
43
45
|
msPanel: Panel;
|
|
44
46
|
gpuPanel: Panel | null;
|
|
47
|
+
gpuPanelCompute: Panel | null;
|
|
45
48
|
samplesLog: number;
|
|
46
49
|
samplesGraph: number;
|
|
47
50
|
logsPerSecond: number;
|
package/lib/main.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface AverageArray {
|
|
|
9
9
|
class Stats {
|
|
10
10
|
totalCpuDuration: number = 0;
|
|
11
11
|
totalGpuDuration: number = 0;
|
|
12
|
+
totalGpuDurationCompute: number = 0;
|
|
12
13
|
totalFps: number = 0;
|
|
13
14
|
mode: number;
|
|
14
15
|
info: any;
|
|
@@ -21,12 +22,14 @@ class Stats {
|
|
|
21
22
|
frames: number;
|
|
22
23
|
averageCpu: AverageArray;
|
|
23
24
|
averageGpu: AverageArray;
|
|
25
|
+
averageGpuCompute: AverageArray;
|
|
24
26
|
queryCreated: boolean;
|
|
25
27
|
isRunningCPUProfiling: boolean;
|
|
26
28
|
fpsPanel: Panel;
|
|
27
29
|
static Panel: typeof Panel = Panel;
|
|
28
30
|
msPanel: Panel;
|
|
29
31
|
gpuPanel: Panel | null;
|
|
32
|
+
gpuPanelCompute: Panel | null;
|
|
30
33
|
samplesLog: number;
|
|
31
34
|
samplesGraph: number;
|
|
32
35
|
logsPerSecond: number;
|
|
@@ -75,12 +78,17 @@ class Stats {
|
|
|
75
78
|
logs: [],
|
|
76
79
|
graph: []
|
|
77
80
|
};
|
|
81
|
+
this.averageGpuCompute = {
|
|
82
|
+
logs: [],
|
|
83
|
+
graph: []
|
|
84
|
+
};
|
|
78
85
|
|
|
79
86
|
this.queryCreated = false;
|
|
80
87
|
|
|
81
88
|
this.fpsPanel = this.addPanel(new Stats.Panel('FPS', '#0ff', '#002'), 0);
|
|
82
89
|
this.msPanel = this.addPanel(new Stats.Panel('CPU', '#0f0', '#020'), 1);
|
|
83
90
|
this.gpuPanel = null;
|
|
91
|
+
this.gpuPanelCompute = null;
|
|
84
92
|
|
|
85
93
|
this.samplesLog = samplesLog;
|
|
86
94
|
this.samplesGraph = samplesGraph;
|
|
@@ -109,6 +117,9 @@ class Stats {
|
|
|
109
117
|
if (this.gpuPanel) {
|
|
110
118
|
this.resizePanel(this.gpuPanel, 2);
|
|
111
119
|
}
|
|
120
|
+
if (this.gpuPanelCompute) {
|
|
121
|
+
this.resizePanel(this.gpuPanelCompute, 3);
|
|
122
|
+
}
|
|
112
123
|
})
|
|
113
124
|
}
|
|
114
125
|
|
|
@@ -128,7 +139,8 @@ class Stats {
|
|
|
128
139
|
|
|
129
140
|
|
|
130
141
|
if (statsInstance.info !== undefined) {
|
|
131
|
-
statsInstance.totalGpuDuration = this.info.timestamp.
|
|
142
|
+
statsInstance.totalGpuDuration = this.info.timestamp.render
|
|
143
|
+
statsInstance.totalGpuDurationCompute = this.info.timestamp.compute
|
|
132
144
|
}
|
|
133
145
|
|
|
134
146
|
statsInstance.begin(); // Start tracking for this render call
|
|
@@ -145,7 +157,8 @@ class Stats {
|
|
|
145
157
|
renderer.renderAsync = function (scene: THREE.Scene, camera: THREE.Camera) {
|
|
146
158
|
|
|
147
159
|
if (statsInstance.info !== undefined) {
|
|
148
|
-
statsInstance.totalGpuDuration = this.info.timestamp.
|
|
160
|
+
statsInstance.totalGpuDuration = this.info.timestamp.render
|
|
161
|
+
statsInstance.totalGpuDurationCompute = this.info.timestamp.compute
|
|
149
162
|
}
|
|
150
163
|
|
|
151
164
|
statsInstance.begin(); // Start tracking for this render call
|
|
@@ -241,6 +254,7 @@ class Stats {
|
|
|
241
254
|
|
|
242
255
|
if (await canvasOrGL.hasFeatureAsync('timestamp-query')) {
|
|
243
256
|
this.gpuPanel = this.addPanel(new Stats.Panel('GPU', '#ff0', '#220'), 2);
|
|
257
|
+
this.gpuPanelCompute = this.addPanel(new Stats.Panel('COM', '#e1e1e1', '#212121'), 3);
|
|
244
258
|
this.info = canvasOrGL.info
|
|
245
259
|
}
|
|
246
260
|
return;
|
|
@@ -342,7 +356,11 @@ class Stats {
|
|
|
342
356
|
this.totalCpuDuration = 0;
|
|
343
357
|
|
|
344
358
|
if (this.info === undefined) {
|
|
359
|
+
this.addToAverage(this.totalGpuDurationCompute, this.averageGpuCompute);
|
|
360
|
+
|
|
345
361
|
this.totalGpuDuration = 0;
|
|
362
|
+
this.totalGpuDurationCompute = 0;
|
|
363
|
+
|
|
346
364
|
}
|
|
347
365
|
this.totalFps = 0;
|
|
348
366
|
|
|
@@ -361,6 +379,10 @@ class Stats {
|
|
|
361
379
|
this.updatePanel(this.msPanel, this.averageCpu);
|
|
362
380
|
this.updatePanel(this.gpuPanel, this.averageGpu);
|
|
363
381
|
|
|
382
|
+
if (this.gpuPanelCompute) {
|
|
383
|
+
this.updatePanel(this.gpuPanelCompute, this.averageGpuCompute);
|
|
384
|
+
}
|
|
385
|
+
|
|
364
386
|
this.prevCpuTime = time;
|
|
365
387
|
}
|
|
366
388
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stats-gl",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "Renaud ROHLINGER (https://github.com/RenaudRohlinger)",
|
|
6
6
|
"homepage": "https://github.com/RenaudRohlinger/stats-gl",
|
|
@@ -21,6 +21,12 @@
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"sideEffects": false,
|
|
24
|
+
"scripts": {
|
|
25
|
+
"dev": "vite dev --debug",
|
|
26
|
+
"serve": "vite serve",
|
|
27
|
+
"build": "tsc && vite build && rollup -c && node ./scripts/copyBuild.js",
|
|
28
|
+
"preview": "vite preview"
|
|
29
|
+
},
|
|
24
30
|
"devDependencies": {
|
|
25
31
|
"@types/three": "^0.162.0",
|
|
26
32
|
"fs-extra": "^11.1.1",
|
|
@@ -30,11 +36,5 @@
|
|
|
30
36
|
"three": "^0.162.0",
|
|
31
37
|
"typescript": "^5.0.2",
|
|
32
38
|
"vite": "^4.5.2"
|
|
33
|
-
},
|
|
34
|
-
"scripts": {
|
|
35
|
-
"dev": "vite dev --debug",
|
|
36
|
-
"serve": "vite serve",
|
|
37
|
-
"build": "tsc && vite build && rollup -c && node ./scripts/copyBuild.js",
|
|
38
|
-
"preview": "vite preview"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|