Delete latency tracking information in the Connection.
The information gathered here will no longer be valid once we start dispatching multiple events at a time to the same connection. Moreover, we are more concerned with end-to-end latency, which we can measure with sufficiently high accuracy in other ways. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I49a0c9876b64af56b40e96e0d98c45f325da2a73
This commit is contained in:
@@ -1926,10 +1926,6 @@ void InputDispatcher::startDispatchCycleLocked(nsecs_t currentTime,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Record information about the newly started dispatch cycle.
|
|
||||||
connection->lastEventTime = eventEntry->eventTime;
|
|
||||||
connection->lastDispatchTime = currentTime;
|
|
||||||
|
|
||||||
// Notify other system components.
|
// Notify other system components.
|
||||||
onDispatchCycleStartedLocked(currentTime, connection);
|
onDispatchCycleStartedLocked(currentTime, connection);
|
||||||
}
|
}
|
||||||
@@ -1937,12 +1933,8 @@ void InputDispatcher::startDispatchCycleLocked(nsecs_t currentTime,
|
|||||||
void InputDispatcher::finishDispatchCycleLocked(nsecs_t currentTime,
|
void InputDispatcher::finishDispatchCycleLocked(nsecs_t currentTime,
|
||||||
const sp<Connection>& connection, bool handled) {
|
const sp<Connection>& connection, bool handled) {
|
||||||
#if DEBUG_DISPATCH_CYCLE
|
#if DEBUG_DISPATCH_CYCLE
|
||||||
ALOGD("channel '%s' ~ finishDispatchCycle - %01.1fms since event, "
|
ALOGD("channel '%s' ~ finishDispatchCycle - handled=%s",
|
||||||
"%01.1fms since dispatch, handled=%s",
|
connection->getInputChannelName(), toString(handled));
|
||||||
connection->getInputChannelName(),
|
|
||||||
connection->getEventLatencyMillis(currentTime),
|
|
||||||
connection->getDispatchLatencyMillis(currentTime),
|
|
||||||
toString(handled));
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (connection->status == Connection::STATUS_BROKEN
|
if (connection->status == Connection::STATUS_BROKEN
|
||||||
@@ -3951,8 +3943,7 @@ InputDispatcher::Connection::Connection(const sp<InputChannel>& inputChannel,
|
|||||||
const sp<InputWindowHandle>& inputWindowHandle, bool monitor) :
|
const sp<InputWindowHandle>& inputWindowHandle, bool monitor) :
|
||||||
status(STATUS_NORMAL), inputChannel(inputChannel), inputWindowHandle(inputWindowHandle),
|
status(STATUS_NORMAL), inputChannel(inputChannel), inputWindowHandle(inputWindowHandle),
|
||||||
monitor(monitor),
|
monitor(monitor),
|
||||||
inputPublisher(inputChannel),
|
inputPublisher(inputChannel) {
|
||||||
lastEventTime(LONG_LONG_MAX), lastDispatchTime(LONG_LONG_MAX) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
InputDispatcher::Connection::~Connection() {
|
InputDispatcher::Connection::~Connection() {
|
||||||
|
|||||||
@@ -784,9 +784,6 @@ private:
|
|||||||
InputState inputState;
|
InputState inputState;
|
||||||
Queue<DispatchEntry> outboundQueue;
|
Queue<DispatchEntry> outboundQueue;
|
||||||
|
|
||||||
nsecs_t lastEventTime; // the time when the event was originally captured
|
|
||||||
nsecs_t lastDispatchTime; // the time when the last event was dispatched
|
|
||||||
|
|
||||||
explicit Connection(const sp<InputChannel>& inputChannel,
|
explicit Connection(const sp<InputChannel>& inputChannel,
|
||||||
const sp<InputWindowHandle>& inputWindowHandle, bool monitor);
|
const sp<InputWindowHandle>& inputWindowHandle, bool monitor);
|
||||||
|
|
||||||
@@ -797,16 +794,6 @@ private:
|
|||||||
// Finds a DispatchEntry in the outbound queue associated with the specified event.
|
// Finds a DispatchEntry in the outbound queue associated with the specified event.
|
||||||
// Returns NULL if not found.
|
// Returns NULL if not found.
|
||||||
DispatchEntry* findQueuedDispatchEntryForEvent(const EventEntry* eventEntry) const;
|
DispatchEntry* findQueuedDispatchEntryForEvent(const EventEntry* eventEntry) const;
|
||||||
|
|
||||||
// Gets the time since the current event was originally obtained from the input driver.
|
|
||||||
inline double getEventLatencyMillis(nsecs_t currentTime) const {
|
|
||||||
return (currentTime - lastEventTime) / 1000000.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gets the time since the current event entered the outbound dispatch queue.
|
|
||||||
inline double getDispatchLatencyMillis(nsecs_t currentTime) const {
|
|
||||||
return (currentTime - lastDispatchTime) / 1000000.0;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum DropReason {
|
enum DropReason {
|
||||||
|
|||||||
Reference in New Issue
Block a user