diff --git a/assets/workers/ShaderWorker.ts b/assets/workers/ShaderWorker.ts index 69f2f9c..6c151e0 100644 --- a/assets/workers/ShaderWorker.ts +++ b/assets/workers/ShaderWorker.ts @@ -149,9 +149,14 @@ async function main(canvas: OffscreenCanvas) { console.log("a") } + requestAnimationFrame(render) + // self.clearInterval(interval) // interval = self.setInterval(() => requestAnimationFrame(render), 1000 / shaderOptions.framerate) self.clearTimeout(timeout) + if (shaderOptions.framerate == 0) { + return render + } timeout = self.setTimeout(() => { requestAnimationFrame(render) }, 1000 / shaderOptions.framerate) @@ -163,6 +168,10 @@ self.addEventListener("message", (e) => { if (data.command == "initShader") { canvas = data.canvas shaderOptions.quality = data.shaderOptions.quality + shaderOptions.framerate = data.shaderOptions.framerate + if (shaderOptions.framerate == 65) { + shaderOptions.framerate == Infinity + } screen.devicePixelRatio = data.screen.devicePixelRatio screen.width = data.screen.width screen.height = data.screen.height diff --git a/components/OptionsDialog.vue b/components/OptionsDialog.vue index eaab71f..78143dd 100644 --- a/components/OptionsDialog.vue +++ b/components/OptionsDialog.vue @@ -39,18 +39,19 @@ const close = () => { Shader Quality
- +
Shader Framerate
- +