Browse Source

Quick experiment: moving RAF at beginning of renderframe

David Catuhe 8 years ago
parent
commit
9e138f93ec

File diff suppressed because it is too large
+ 1440 - 1440
dist/preview release/babylon.d.ts


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.js


+ 8 - 7
dist/preview release/babylon.max.js

@@ -8644,6 +8644,14 @@ var BABYLON;
             }
         };
         Engine.prototype._renderLoop = function () {
+            if (this._activeRenderLoops.length > 0) {
+                // Register new frame
+                this._frameHandler = BABYLON.Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled);
+            }
+            else {
+                this._renderingQueueLaunched = false;
+            }
+            // Effective render
             if (!this._contextWasLost) {
                 var shouldRender = true;
                 if (!this.renderEvenInBackground && this._windowIsBackground) {
@@ -8660,13 +8668,6 @@ var BABYLON;
                     this.endFrame();
                 }
             }
-            if (this._activeRenderLoops.length > 0) {
-                // Register new frame
-                this._frameHandler = BABYLON.Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled);
-            }
-            else {
-                this._renderingQueueLaunched = false;
-            }
         };
         /**
          * Register and execute a render loop. The engine can have more than one render function.

File diff suppressed because it is too large
+ 1440 - 1440
dist/preview release/babylon.module.d.ts


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.worker.js


File diff suppressed because it is too large
+ 6400 - 6400
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js


+ 8 - 7
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js

@@ -8644,6 +8644,14 @@ var BABYLON;
             }
         };
         Engine.prototype._renderLoop = function () {
+            if (this._activeRenderLoops.length > 0) {
+                // Register new frame
+                this._frameHandler = BABYLON.Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled);
+            }
+            else {
+                this._renderingQueueLaunched = false;
+            }
+            // Effective render
             if (!this._contextWasLost) {
                 var shouldRender = true;
                 if (!this.renderEvenInBackground && this._windowIsBackground) {
@@ -8660,13 +8668,6 @@ var BABYLON;
                     this.endFrame();
                 }
             }
-            if (this._activeRenderLoops.length > 0) {
-                // Register new frame
-                this._frameHandler = BABYLON.Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled);
-            }
-            else {
-                this._renderingQueueLaunched = false;
-            }
         };
         /**
          * Register and execute a render loop. The engine can have more than one render function.

File diff suppressed because it is too large
+ 6400 - 6400
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.module.d.ts


+ 8 - 7
src/babylon.engine.ts

@@ -1371,6 +1371,14 @@
         }
 
         public _renderLoop(): void {
+            if (this._activeRenderLoops.length > 0) {
+                // Register new frame
+                this._frameHandler = Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled);
+            } else {
+                this._renderingQueueLaunched = false;
+            }
+
+            // Effective render
             if (!this._contextWasLost) {
                 var shouldRender = true;
                 if (!this.renderEvenInBackground && this._windowIsBackground) {
@@ -1391,13 +1399,6 @@
                     this.endFrame();
                 }  
             }
-
-            if (this._activeRenderLoops.length > 0) {
-                // Register new frame
-                this._frameHandler = Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled);
-            } else {
-                this._renderingQueueLaunched = false;
-            }
         }
 
         /**