| 7 | let frameStartTime = 0; |
| 8 | |
| 9 | function doFrame(currentTimeMillis: number) { |
| 10 | let fps = 0; |
| 11 | if (frameStartTime > 0) { |
| 12 | // take the span in milliseconds |
| 13 | const timeSpan = currentTimeMillis - frameStartTime; |
| 14 | framesRendered++; |
| 15 | |
| 16 | if (timeSpan > 1000) { |
| 17 | fps = (framesRendered * 1000) / timeSpan; |
| 18 | if (fps < _minFps) { |
| 19 | _minFps = fps; |
| 20 | } |
| 21 | |
| 22 | notify(fps); |
| 23 | |
| 24 | frameStartTime = currentTimeMillis; |
| 25 | framesRendered = 0; |
| 26 | } |
| 27 | } else { |
| 28 | frameStartTime = currentTimeMillis; |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | let native: fpsNative.FPSCallback; |
| 33 | function ensureNative() { |