diff --git a/packages/frontend/src/world/room/controller.ts b/packages/frontend/src/world/room/controller.ts index 85929cd674..a7f5177bca 100644 --- a/packages/frontend/src/world/room/controller.ts +++ b/packages/frontend/src/world/room/controller.ts @@ -80,7 +80,7 @@ export class RoomController { } }; } else { - const babylonEngine = new BABYLON.WebGPUEngine(canvas, { doNotHandleContextLost: true }); + const babylonEngine = new BABYLON.WebGPUEngine(canvas, { doNotHandleContextLost: true, powerPreference: 'high-performance' }); babylonEngine.compatibilityMode = false; babylonEngine.enableOfflineSupport = false; await babylonEngine.initAsync(); diff --git a/packages/frontend/src/world/room/previewEngine.ts b/packages/frontend/src/world/room/previewEngine.ts index 7c086286e6..6ca7030d46 100644 --- a/packages/frontend/src/world/room/previewEngine.ts +++ b/packages/frontend/src/world/room/previewEngine.ts @@ -15,7 +15,7 @@ import { deepClone } from '@/utility/clone.js'; import { store } from '@/store.js'; export async function createRoomObjectPreviewEngine(canvas: HTMLCanvasElement) { - const babylonEngine = new BABYLON.WebGPUEngine(canvas, { doNotHandleContextLost: true }); + const babylonEngine = new BABYLON.WebGPUEngine(canvas, { doNotHandleContextLost: true, powerPreference: 'low-power' }); babylonEngine.compatibilityMode = false; babylonEngine.enableOfflineSupport = false; await babylonEngine.initAsync(); diff --git a/packages/frontend/src/world/room/worker.ts b/packages/frontend/src/world/room/worker.ts index 73f8e9d308..8ef20a87c3 100644 --- a/packages/frontend/src/world/room/worker.ts +++ b/packages/frontend/src/world/room/worker.ts @@ -17,7 +17,7 @@ onmessage = async (event) => { case 'init': { const roomState = event.data.roomState as RoomState; canvas = event.data.canvas as HTMLCanvasElement; - const babylonEngine = new BABYLON.WebGPUEngine(canvas, { doNotHandleContextLost: true }); + const babylonEngine = new BABYLON.WebGPUEngine(canvas, { doNotHandleContextLost: true, powerPreference: 'high-performance' }); babylonEngine.compatibilityMode = false; babylonEngine.enableOfflineSupport = false; await babylonEngine.initAsync();