Question

Currently I'm getting the following output in Logcat:

Excessive delay in unblankDisplay() while turning screen on: 237ms

This seems to trigger the OS destroying my window and attempting to recreate it, but my frame time doesn't seem to be anywhere near that long. Is there something else that I need to trigger to indicate that I've unblanked the display properly?

Was it helpful?

Solution

That's just an advisory message. It's emitted from nativeUnblankDisplay() in android_view_SurfaceControl.cpp (line 406).

(The code is non-obvious -- ALOGD_IF_SLOW creates an object on the stack that checks the time in the constructor and the destructor. When the object goes out of scope, i.e. when this function returns, the destructor checks to see if too much time has elapsed, and logs a message if it has.)

The unblankDisplay() call is making an IPC request to SurfaceFlinger, which forwards it to the hardware composer (if one exists).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top