Chromium Code Reviews
DescriptionFix GPU tracing offset calculation on android.
The previous fix only made the offset calculation more stable, but
it still seems to race with when the device can go idle. I think
this is due to the trace command not being flushed. Since beginning
a trace is an asynchronous command, it is possible that the GPU can
still go idle after the we synchronize the timer because that is a
synchronous command. In order to guarantee that we are calculating
the offset after the asynchronous command has already begun, I have
made it so the offset is calculated before we issue the asynchronous
end trace call instead.
Technically this is still not completely fool proof because we can
have a case where we issue a trace begin and trace end immediately
and calculate the offset time before both commands are flushed, but
assuming we are actually tracing some GPU command that takes GPU time,
this should not happen very often.
BUG=None
TEST=local, trace a page for a minute.
Committed: https://crrev.com/c2bff8d3e630fb137b949a8cec45b79783b5d25e
Cr-Commit-Position: refs/heads/master@{#317164}
Patch Set 1 #Patch Set 2 : Fixed unit tests #Patch Set 3 : rebase #
Messages
Total messages: 11 (3 generated)
|
||||||||||||||||||||||||||||