performance improvements

This commit is contained in:
2026-02-13 21:34:15 +02:00
parent a35691fc1b
commit 5c934e0ad2
+14 -3
View File
@@ -214,18 +214,22 @@ class GameEngine extends EventManager{
if (opts.ar) { if (opts.ar) {
renderer.xr.enabled = true; renderer.xr.enabled = true;
document.body.appendChild(ARButton.createButton(renderer, {})); this.arBtn = ARButton.createButton(renderer, {});
this.arBtn.classList.add('engine-ar-btn');
document.body.appendChild(this.arBtn);
} }
if (opts.xr) { if (opts.xr) {
renderer.xr.enabled = true; renderer.xr.enabled = true;
document.body.appendChild(XRButton.createButton(renderer, opts.depthSense ? { this.xrBtn = XRButton.createButton(renderer, opts.depthSense ? {
'requiredFeatures': ['depth-sensing'], 'requiredFeatures': ['depth-sensing'],
'depthSensing': { 'depthSensing': {
usagePreference: ["gpu-optimized"], usagePreference: ["gpu-optimized"],
dataFormatPreference: ["unsigned-short"], dataFormatPreference: ["unsigned-short"],
matchDepthView: false matchDepthView: false
} }
} : {})); } : {})
this.xrBtn.classList.add('engine-xr-btn');
document.body.appendChild(this.xrBtn);
this.initXrControllers(); this.initXrControllers();
} }
@@ -611,6 +615,13 @@ class GameEngine extends EventManager{
}) })
} }
destroy(){
this.renderer.dispose();
this.arBtn?.remove();
this.xrBtn?.remove();
this.stats?.dom?.remove();
}
static textureLoader = new THREE.TextureLoader(); static textureLoader = new THREE.TextureLoader();
static audioLoader = new THREE.AudioLoader(); static audioLoader = new THREE.AudioLoader();