Sfoglia il codice sorgente

fix: start loop if user calls useRenderLoop (#695)

andretchen0 1 anno fa
parent
commit
43c3229032
1 ha cambiato i file con 9 aggiunte e 0 eliminazioni
  1. 9 0
      src/composables/useRenderLoop/index.ts

+ 9 - 0
src/composables/useRenderLoop/index.ts

@@ -40,7 +40,16 @@ onAfterLoop.on(() => {
   elapsed = clock.getElapsedTime()
 })
 
+let startedOnce = false
 export const useRenderLoop = (): UseRenderLoopReturn => {
+  if (!startedOnce) {
+    // NOTE: `useRenderLoop` is not started by default
+    // in order not to waste user resources. Instead, we'll
+    // start the loop the first time the user uses
+    // `useRenderLoop`.
+    startedOnce = true
+    resume()
+  }
   return {
     onBeforeLoop: onBeforeLoop.on,
     onLoop: onLoop.on,