Skip to content

Commit 0bfbc33

Browse files
committed
Address review feedback
1 parent f8586eb commit 0bfbc33

File tree

2 files changed

+109
-101
lines changed

2 files changed

+109
-101
lines changed

JetStreamDriver.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1915,7 +1915,7 @@ let BENCHMARKS = [
19151915
"./threejs/benchmark.js",
19161916
],
19171917
deterministicRandom: true,
1918-
tags: ["ThreeJs"],
1918+
tags: ["Default", "ThreeJs"],
19191919
}),
19201920
// Wasm
19211921
new WasmEMCCBenchmark({

threejs/benchmark.js

Lines changed: 108 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -33,87 +33,88 @@ const innerHeight = 1080;
3333
const innerWidth = 1920;
3434
camera.position.z = 500;
3535

36-
const canvas = {}
37-
canvas.addEventListener = function() { }
38-
canvas.style = {}
39-
canvas.getContext = function(kind) {
40-
return {
41-
getExtension(extension) {
42-
if (extension == 'EXT_blend_minmax') {
43-
return {MIN_EXT: 32775, MAX_EXT: 32776}
44-
}
45-
if (extension == 'OES_vertex_array_object') {
46-
return {
47-
createVertexArrayOES() { return 1 },
48-
bindVertexArrayOES() { },
49-
deleteVertexArrayOES() { },
50-
}
51-
}
52-
},
53-
createTexture() { },
54-
bindTexture() { },
55-
texImage2D() { },
56-
texParameteri() { },
57-
uniform1i() { },
58-
uniform1f() { },
59-
uniform2f() { },
60-
uniform3f() { },
61-
uniform4f() { },
62-
clearColor() { },
63-
clear() { },
64-
clearDepth() { },
65-
clearStencil() { },
66-
enable() { },
67-
disable() { },
68-
depthFunc() { },
69-
depthMask() { },
70-
frontFace() { },
71-
cullFace() { },
72-
getContextAttributes() { },
73-
createBuffer() { },
74-
bindBuffer() { },
75-
bufferData() { },
76-
createProgram() { },
77-
attachShader() { },
78-
linkProgram() { },
79-
useProgram() { },
80-
getAttribLocation() { },
81-
getUniformLocation() { },
82-
createShader() { },
83-
shaderSource() { },
84-
compileShader() { },
85-
getShaderParameter() { },
86-
getProgramInfoLog() { return "" },
87-
getShaderInfoLog() { return "" },
88-
getProgramParameter() { },
89-
deleteShader() { },
90-
colorMask() { },
91-
drawElements() { },
92-
lineWidth() { },
93-
drawArrays() { },
94-
viewport() { },
95-
getParameter(param) {
96-
if (param == 34930) { return 16 }
97-
if (param == 35660) { return 16 }
98-
if (param == 3379) { return 8192 }
99-
if (param == 36347) { return 1024 }
100-
if (param == 36348) { return 32 }
101-
if (param == 36349) { return 1024 }
102-
if (param == 35661) { return 80 }
103-
if (param == 7938) { return "WebGL 2.0" }
104-
if (param == 3088) { return [0,0,1024,480] }
105-
if (param == 2978) { return [0,0,1024,480] }
106-
},
107-
MAX_TEXTURE_IMAGE_UNITS: 34930,
108-
MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660,
109-
MAX_TEXTURE_SIZE: 3379,
110-
MAX_VERTEX_UNIFORM_VECTORS: 36347,
111-
MAX_VARYING_VECTORS: 36348,
112-
MAX_FRAGMENT_UNIFORM_VECTORS: 36349,
113-
MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661,
114-
VERSION: 7938,
115-
SCISSOR_BOX: 3088,
116-
VIEWPORT: 2978
36+
const canvas = {
37+
addEventListener() {},
38+
style: {},
39+
getContext(kind) {
40+
return {
41+
getExtension(extension) {
42+
if (extension == 'EXT_blend_minmax') {
43+
return {MIN_EXT: 32775, MAX_EXT: 32776}
44+
}
45+
if (extension == 'OES_vertex_array_object') {
46+
return {
47+
createVertexArrayOES() { return 1 },
48+
bindVertexArrayOES() {},
49+
deleteVertexArrayOES() {},
50+
}
51+
}
52+
},
53+
createTexture() {},
54+
bindTexture() {},
55+
texImage2D() {},
56+
texParameteri() {},
57+
uniform1i() {},
58+
uniform1f() {},
59+
uniform2f() {},
60+
uniform3f() {},
61+
uniform4f() {},
62+
clearColor() {},
63+
clear() {},
64+
clearDepth() {},
65+
clearStencil() {},
66+
enable() {},
67+
disable() {},
68+
depthFunc() {},
69+
depthMask() {},
70+
frontFace() {},
71+
cullFace() {},
72+
getContextAttributes() {},
73+
createBuffer() {},
74+
bindBuffer() {},
75+
bufferData() {},
76+
createProgram() {},
77+
attachShader() {},
78+
linkProgram() {},
79+
useProgram() {},
80+
getAttribLocation() {},
81+
getUniformLocation() {},
82+
createShader() {},
83+
shaderSource() {},
84+
compileShader() {},
85+
getShaderParameter() {},
86+
getProgramInfoLog() { return "" },
87+
getShaderInfoLog() { return "" },
88+
getProgramParameter() {},
89+
deleteShader() {},
90+
colorMask() {},
91+
drawElements() {},
92+
lineWidth() {},
93+
drawArrays() {},
94+
viewport() {},
95+
getParameter(param) {
96+
if (param == 34930) { return 16 }
97+
if (param == 35660) { return 16 }
98+
if (param == 3379) { return 8192 }
99+
if (param == 36347) { return 1024 }
100+
if (param == 36348) { return 32 }
101+
if (param == 36349) { return 1024 }
102+
if (param == 35661) { return 80 }
103+
if (param == 7938) { return "WebGL 2.0" }
104+
if (param == 3088) { return [0,0,1024,480] }
105+
if (param == 2978) { return [0,0,1024,480] }
106+
},
107+
MAX_TEXTURE_IMAGE_UNITS: 34930,
108+
MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660,
109+
MAX_TEXTURE_SIZE: 3379,
110+
MAX_VERTEX_UNIFORM_VECTORS: 36347,
111+
MAX_VARYING_VECTORS: 36348,
112+
MAX_FRAGMENT_UNIFORM_VECTORS: 36349,
113+
MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661,
114+
VERSION: 7938,
115+
SCISSOR_BOX: 3088,
116+
VIEWPORT: 2978
117+
}
117118
}
118119
}
119120

@@ -161,28 +162,32 @@ const createGeometryParticle = (size) => {
161162
};
162163

163164
// Initialize particles
165+
var initialized = false;
164166
const particles = [];
165-
for(let i = 0; i < NUM_PARTICLES; i++) {
166-
const size = 10 + Math.random() * 80;
167-
const particle =
168-
createGeometryParticle(size);
169-
170-
// Random initial position
171-
const visibleWidth = 2 * Math.tan(75 * Math.PI/360) * 500 * camera.aspect;
172-
particle.position.set(
173-
THREE.MathUtils.randFloatSpread(visibleWidth),
174-
THREE.MathUtils.randFloatSpread(visibleWidth/camera.aspect),
175-
0
176-
);
177167

178-
// Velocity storage
179-
particle.velocity = new THREE.Vector2(
180-
(Math.random() - 0.5) * 8,
181-
(Math.random() - 0.5) * 8
182-
);
168+
function initialize() {
169+
for(let i = 0; i < NUM_PARTICLES; i++) {
170+
const size = 10 + Math.random() * 80;
171+
const particle = createGeometryParticle(size);
172+
173+
// Random initial position
174+
const visibleWidth = 2 * Math.tan(75 * Math.PI/360) * 500 * camera.aspect;
175+
particle.position.set(
176+
THREE.MathUtils.randFloatSpread(visibleWidth),
177+
THREE.MathUtils.randFloatSpread(visibleWidth/camera.aspect),
178+
0
179+
);
183180

184-
scene.add(particle);
185-
particles.push(particle);
181+
// Velocity storage
182+
particle.velocity = new THREE.Vector2(
183+
(Math.random() - 0.5) * 8,
184+
(Math.random() - 0.5) * 8
185+
);
186+
187+
scene.add(particle);
188+
particles.push(particle);
189+
}
190+
initialized = true;
186191
}
187192

188193
// Metrics and animation
@@ -206,6 +211,9 @@ function animate() {
206211

207212
class Benchmark {
208213
runIteration() {
214+
if (!initialized) {
215+
initialize();
216+
}
209217
animate();
210218
}
211219
}

0 commit comments

Comments
 (0)