Skip desktop capture frames that have not gotten dirty since the previous frame
Categories
(Core :: WebRTC: Audio/Video, task)
Tracking
()
People
(Reporter: pehrsons, Assigned: pehrsons)
References
(Depends on 2 open bugs, Blocks 2 open bugs)
Details
Attachments
(7 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
DesktopFrame instances (frames captured by DesktopCapturers) expose updated_region
containing info on what rects in the frame had changed since the previous frame.
Currently we ignore this and process every frame regardless of whether it is a duplicate of a frame we have already seen, or not. These frames are very large so processing them in software is expensive. This bug is to ignore all duplicates, to skip a costly image format conversion, several copies, a probable downscaling pass, and possibly rendering and encoding depending on use case.
This should improve performance for desktop capture in a lot of cases, though doesn't help for the worst-case (where say a video or an animation is showing in the capture source).
Assignee | ||
Comment 1•6 months ago
|
||
This will allow implementing other converter modules.
Assignee | ||
Comment 2•6 months ago
|
||
Assignee | ||
Comment 3•6 months ago
|
||
Assignee | ||
Comment 4•6 months ago
|
||
Assignee | ||
Comment 5•6 months ago
•
|
||
User Agents may optimize handling of idle sources by not surfacing
duplicate frames.
Assignee | ||
Comment 6•6 months ago
|
||
Assignee | ||
Comment 7•6 months ago
|
||
Description
•