Make updateSurface non-blocking
Bug: 30442298 We already do this for initialize(), fix it so that update() is parallel with the UI thread as well. Shaves ~7ms off of the 99th percentile on NotificationShade open & close Change-Id: I1791df495453fb9e1e12362c68e3d20e837e62be
This commit is contained in:
@@ -519,16 +519,6 @@ public final class ThreadedRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* This method should be invoked whenever the current hardware renderer
|
|
||||||
* context should be reset.
|
|
||||||
*
|
|
||||||
* @param surface The surface to hardware accelerate
|
|
||||||
*/
|
|
||||||
void invalidate(Surface surface) {
|
|
||||||
updateSurface(surface);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Detaches the layer's surface texture from the GL context and releases
|
* Detaches the layer's surface texture from the GL context and releases
|
||||||
* the texture id
|
* the texture id
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ void RenderProxy::updateSurface(const sp<Surface>& surface) {
|
|||||||
SETUP_TASK(updateSurface);
|
SETUP_TASK(updateSurface);
|
||||||
args->context = mContext;
|
args->context = mContext;
|
||||||
args->surface = surface.get();
|
args->surface = surface.get();
|
||||||
postAndWait(task);
|
post(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
CREATE_BRIDGE2(pauseSurface, CanvasContext* context, Surface* surface) {
|
CREATE_BRIDGE2(pauseSurface, CanvasContext* context, Surface* surface) {
|
||||||
|
|||||||
Reference in New Issue
Block a user