summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/ThreadedRenderer.java
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-06-03 15:53:15 -0700
committerJohn Reck <jreck@google.com>2014-06-04 12:21:26 -0700
commite4267ea4f20740c37c01bfb6aefcf61fddc4566a (patch)
tree0d00c8bff43f8b0cbe4284e51299f5ca128c83c3 /core/java/android/view/ThreadedRenderer.java
parent79c7de77a7da9cbcb9428ab6203987feb35a427f (diff)
downloadframeworks_base-e4267ea4f20740c37c01bfb6aefcf61fddc4566a.zip
frameworks_base-e4267ea4f20740c37c01bfb6aefcf61fddc4566a.tar.gz
frameworks_base-e4267ea4f20740c37c01bfb6aefcf61fddc4566a.tar.bz2
Even FASTER damage calculations!
* Now with more native! * Less matrix math thanks to bulk-property-update support! * Zero JNI on the View.damageInParent() path! * Fully aware of RT-driven animators! * Likely full of new and exciting bugs! * But it also fixes at least 1 existing invalidate bug! Change-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f
Diffstat (limited to 'core/java/android/view/ThreadedRenderer.java')
-rw-r--r--core/java/android/view/ThreadedRenderer.java13
1 files changed, 3 insertions, 10 deletions
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index 9b3ef7f..7bbe84e 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -54,8 +54,6 @@ import java.io.PrintWriter;
public class ThreadedRenderer extends HardwareRenderer {
private static final String LOGTAG = "ThreadedRenderer";
- private static final Rect NULL_RECT = new Rect();
-
// Keep in sync with DrawFrameTask.h SYNC_* flags
// Nothing interesting to report
private static final int SYNC_OK = 0x0;
@@ -228,7 +226,7 @@ public class ThreadedRenderer extends HardwareRenderer {
}
@Override
- void draw(View view, AttachInfo attachInfo, HardwareDrawCallbacks callbacks, Rect dirty) {
+ void draw(View view, AttachInfo attachInfo, HardwareDrawCallbacks callbacks) {
attachInfo.mIgnoreDirtyState = true;
long frameTimeNanos = mChoreographer.getFrameTimeNanos();
attachInfo.mDrawingTime = frameTimeNanos / TimeUtils.NANOS_PER_MS;
@@ -246,12 +244,8 @@ public class ThreadedRenderer extends HardwareRenderer {
attachInfo.mIgnoreDirtyState = false;
- if (dirty == null) {
- dirty = NULL_RECT;
- }
int syncResult = nSyncAndDrawFrame(mNativeProxy, frameTimeNanos,
- recordDuration, view.getResources().getDisplayMetrics().density,
- dirty.left, dirty.top, dirty.right, dirty.bottom);
+ recordDuration, view.getResources().getDisplayMetrics().density);
if ((syncResult & SYNC_INVALIDATE_REQUIRED) != 0) {
attachInfo.mViewRootImpl.invalidate();
}
@@ -393,8 +387,7 @@ public class ThreadedRenderer extends HardwareRenderer {
float lightX, float lightY, float lightZ, float lightRadius);
private static native void nSetOpaque(long nativeProxy, boolean opaque);
private static native int nSyncAndDrawFrame(long nativeProxy,
- long frameTimeNanos, long recordDuration, float density,
- int dirtyLeft, int dirtyTop, int dirtyRight, int dirtyBottom);
+ long frameTimeNanos, long recordDuration, float density);
private static native void nRunWithGlContext(long nativeProxy, Runnable runnable);
private static native void nDestroyCanvasAndSurface(long nativeProxy);