diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-09-07 17:31:09 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-09-07 17:31:09 -0700 |
commit | c31aaf5c1b19fdccc42d29f34b9fd21ded0206c4 (patch) | |
tree | 2a9d8f8bc5cae78f46cfe540a551cc602b470f31 /src/library_browser.js | |
parent | 94a94998ee869205642cd926bcc452e886537058 (diff) |
improve PROFILE_MAIN_LOOP
Diffstat (limited to 'src/library_browser.js')
-rw-r--r-- | src/library_browser.js | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/library_browser.js b/src/library_browser.js index 51c0cf78..bf235493 100644 --- a/src/library_browser.js +++ b/src/library_browser.js @@ -10,10 +10,6 @@ mergeInto(LibraryManager.library, { $Browser: { mainLoop: { scheduler: null, -#if PROFILE_MAIN_LOOP - meanTime: 0, - lastReport: 0, -#endif shouldPause: false, paused: false, queue: [], @@ -383,6 +379,12 @@ mergeInto(LibraryManager.library, { emscripten_set_main_loop: function(func, fps) { Module['noExitRuntime'] = true; +#if PROFILE_MAIN_LOOP + Module['totalTime'] = 0; + Module['iterations'] = 0; + Module['maxTime'] = 0; +#endif + var jsFunc = FUNCTION_TABLE[func]; Browser.mainLoop.runner = function() { if (Browser.mainLoop.queue.length > 0) { @@ -415,15 +417,14 @@ mergeInto(LibraryManager.library, { #if PROFILE_MAIN_LOOP var start = performance.now(); #endif + jsFunc(); + #if PROFILE_MAIN_LOOP - var now = performance.now(); - var time = now - start; - Browser.mainLoop.meanTime = (Browser.mainLoop.meanTime*9 + time)/10; - if (now - Browser.mainLoop.lastReport > 1000) { - console.log('main loop time: ' + Browser.mainLoop.meanTime); - Browser.mainLoop.lastReport = now; - } + var time = performance.now() - start; + Module['totalTime'] += time; + Module['iterations']++; + Module['maxTime'] = Math.max(Module['maxTime'], time); #endif if (Browser.mainLoop.shouldPause) { |