diff options
Diffstat (limited to 'core/java/android/view/HardwareRenderer.java')
| -rw-r--r-- | core/java/android/view/HardwareRenderer.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index d40043f..f251f36 100644 --- a/core/java/android/view/HardwareRenderer.java +++ b/core/java/android/view/HardwareRenderer.java @@ -259,7 +259,14 @@ public abstract class HardwareRenderer { * @param pw */ abstract void dumpGfxInfo(PrintWriter pw); - + + /** + * Outputs the total number of frames rendered (used for fps calculations) + * + * @return the number of frames rendered + */ + abstract long getFrameCount(); + /** * Sets the directory to use as a persistent storage for hardware rendering * resources. @@ -475,7 +482,7 @@ public abstract class HardwareRenderer { GL mGl; HardwareCanvas mCanvas; - int mFrameCount; + long mFrameCount; Paint mDebugPaint; static boolean sDirtyRegions; @@ -552,6 +559,11 @@ public abstract class HardwareRenderer { } } + @Override + long getFrameCount() { + return mFrameCount; + } + /** * Indicates whether this renderer instance can track and update dirty regions. */ @@ -1006,13 +1018,13 @@ public abstract class HardwareRenderer { callbacks.onHardwarePostDraw(canvas); canvas.restoreToCount(saveCount); view.mRecreateDisplayList = false; - + mFrameCount++; if (mDebugDirtyRegions) { if (mDebugPaint == null) { mDebugPaint = new Paint(); mDebugPaint.setColor(0x7fff0000); } - if (dirty != null && (mFrameCount++ & 1) == 0) { + if (dirty != null && (mFrameCount & 1) == 0) { canvas.drawRect(dirty, mDebugPaint); } } |
