Bug 1761744 - Tag frames coming from skipped composites. r=gfx-reviewers,aosmond

Also differentiate between skipped composites (too many pending frames) and discarded composites (paused or no display list).

Differential Revision: https://phabricator.services.mozilla.com/D142232
This commit is contained in:
Nicolas Silva 2022-03-29 09:30:55 +00:00
parent bf03eccb7d
commit 7b8485e486
2 changed files with 4 additions and 2 deletions

View File

@ -2181,7 +2181,8 @@ void WebRenderBridgeParent::CompositeIfNeeded() {
if (mSkippedComposite) {
mSkippedComposite = false;
if (mCompositorScheduler) {
mCompositorScheduler->ScheduleComposition(mSkippedCompositeReasons);
mCompositorScheduler->ScheduleComposition(
mSkippedCompositeReasons | RenderReasons::SKIPPED_COMPOSITE);
}
mSkippedCompositeReasons = wr::RenderReasons::NONE;
}
@ -2217,7 +2218,7 @@ void WebRenderBridgeParent::CompositeToTarget(VsyncId aId,
if (paused || !mReceivedDisplayList) {
ResetPreviousSampleTime();
mCompositionOpportunityId = mCompositionOpportunityId.Next();
PROFILER_MARKER_TEXT("SkippedComposite", GRAPHICS,
PROFILER_MARKER_TEXT("Discarded composite", GRAPHICS,
MarkerInnerWindowId(innerWindowId),
paused ? "Paused"_ns : "No display list"_ns);
return;

View File

@ -562,6 +562,7 @@ bitflags! {
/// to see which frames were driven by the vsync scheduler so
/// we store a bit for it.
const VSYNC = 1 << 16;
const SKIPPED_COMPOSITE = 1 << 17;
}
}