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•2 years ago
|
||
This will allow implementing other converter modules.
| Assignee | ||
Comment 2•2 years ago
|
||
| Assignee | ||
Comment 3•2 years ago
|
||
| Assignee | ||
Comment 4•2 years ago
|
||
| Assignee | ||
Comment 5•2 years ago
•
|
||
User Agents may optimize handling of idle sources by not surfacing
duplicate frames.
| Assignee | ||
Comment 6•2 years ago
|
||
| Assignee | ||
Comment 7•2 years ago
|
||
Description
•