Skip to content

Commit 50395a3

Browse files
author
Avaer Kazmer
committed
Optimize updates memory allocation
1 parent 3edc433 commit 50395a3

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Diff for: index.html

+9-6
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,9 @@
803803
const localMatrix = new THREE.Matrix4();
804804
const localColor = new THREE.Color();
805805
const localColor2 = new THREE.Color();
806+
const localVectorArray = Array(3);
807+
const localVectorArray2 = Array(3);
808+
const localQuaternionArray = Array(4);
806809

807810
const scene = new THREE.Scene();
808811

@@ -1811,7 +1814,7 @@
18111814
mesh.frustumCulled = false;
18121815
mesh.update = async () => {
18131816
const vrCamera = _getVrCamera();
1814-
xrRaycaster.updateView(vrCamera.position.toArray(), vrCamera.quaternion.toArray());
1817+
xrRaycaster.updateView(vrCamera.position.toArray(localVectorArray), vrCamera.quaternion.toArray(localQuaternionArray));
18151818
xrRaycaster.updateTexture();
18161819
await XRRaycaster.nextFrame();
18171820
xrRaycaster.updateDepthBuffer();
@@ -1928,7 +1931,7 @@
19281931
mesh.frustumCulled = false;
19291932
mesh.update = () => {
19301933
const vrCamera = _getVrCamera();
1931-
xrRaycaster.updateView(vrCamera.position.toArray(), vrCamera.quaternion.toArray());
1934+
xrRaycaster.updateView(vrCamera.position.toArray(localVectorArray), vrCamera.quaternion.toArray(localQuaternionArray));
19321935
xrRaycaster.updateTexture();
19331936

19341937
gpuParticlesMeshMaterial.uniforms.uMatrixWorld.value.copy(xrRaycaster.camera.matrixWorld);
@@ -1974,13 +1977,13 @@
19741977
xrChunker.updateTransform(
19751978
localVector.copy(vrCamera.position)
19761979
.add(localVector2.set(0, 0, -1).applyQuaternion(vrCamera.quaternion))
1977-
.toArray(),
1978-
vrCamera.quaternion.toArray(),
1979-
[2, 2, 2]
1980+
.toArray(localVectorArray),
1981+
vrCamera.quaternion.toArray(localQuaternionArray),
1982+
localVector.set(2, 2, 2).toArray(localVectorArray2)
19801983
);
19811984
xrChunker.updateMesh(async () => {
19821985
const vrCamera = _getVrCamera();
1983-
xrRaycaster.updateView(vrCamera.position.toArray(), vrCamera.quaternion.toArray());
1986+
xrRaycaster.updateView(vrCamera.position.toArray(localVectorArray), vrCamera.quaternion.toArray(localQuaternionArray));
19841987
xrRaycaster.updateTexture();
19851988
await XRRaycaster.nextFrame();
19861989
xrRaycaster.updateDepthBuffer();

0 commit comments

Comments
 (0)