Chromium Code Reviews
DescriptionAvoid unnecessary post task during frame delivery.
With the three changes in this CL, primarily the first, we can now
play 720p60 and 1080p60 content on the Moto X and N7v2 devices when
combined with the underflow fixes from http://crrev.com/1863373002.
There are three places we were able to avoid unnecessary thread hops,
ordered in terms of impact:
- VD::|output_cb| does not need to PostTask since it's already
delivered many calls after provided. This change had the most impact,
which suggests that the media thread was blocked with other tasks
while the frame is delivered. All VideoDecoders are updated.
- Don't trampoline GVD::ReleaseMailbox unless necessary, this also
runs on the media thread when frames are dropped before being sent
to the compositor. This allows underflow to catch up more quickly.
- Don't trampoline for NotifyPictureRead() in AVDA and notify before
attempting to release to backbuffer and setting codec indices. This
speeds up frame metadata delivery to the renderer.
In total this reduces the total time from NotifyPictureReady() to
FrameReady() from ~[2.5ms, 9.8ms] to around ~[0.7ms,1.5ms].
BUG=601066
TEST=720p60 and 1080p60 playback are smooth on MotoX and N7v2.
Committed: https://crrev.com/427a97695071d8b7662dd668cb844477dfb707bf
Cr-Commit-Position: refs/heads/master@{#389671}
Patch Set 1 #
Total comments: 7
Patch Set 2 : Comments. #
Total comments: 3
Messages
Total messages: 21 (7 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||