aboutsummaryrefslogtreecommitdiff
path: root/src/library_browser.js
diff options
context:
space:
mode:
authorJukka Jylänki <jujjyl@gmail.com>2014-01-15 17:25:53 +0200
committerJukka Jylänki <jujjyl@gmail.com>2014-01-15 17:31:19 +0200
commit4a2fd2a412f2406c190d78d3e2a8e4676165aa93 (patch)
tree41017967996b5dcb7e65678a0a1dfd3627a8f07c /src/library_browser.js
parentaba027c6e69d3e2750d0644e8967879bfc4df0a9 (diff)
Optimize rendering from client-side memory by maintaining a set of doublebuffered VBOs. This improves performance by reducing CPU-GPU pipeline stalls.
Diffstat (limited to 'src/library_browser.js')
-rw-r--r--src/library_browser.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/library_browser.js b/src/library_browser.js
index d5e35339..458a8dd2 100644
--- a/src/library_browser.js
+++ b/src/library_browser.js
@@ -775,6 +775,15 @@ mergeInto(LibraryManager.library, {
return;
}
+ // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize
+ // VBO double-buffering and reduce GPU stalls.
+#if FULL_ES2
+ GL.newRenderingFrameStarted();
+#endif
+#if LEGACY_GL_EMULATION
+ GL.newRenderingFrameStarted();
+#endif
+
if (Module['preMainLoop']) {
Module['preMainLoop']();
}