Bug 1649313 - Add SkippedComposite markers. r=nical

Differential Revision: https://phabricator.services.mozilla.com/D82636
This commit is contained in:
Markus Stange 2020-07-08 18:41:21 +00:00
Родитель 0e4d7862d4
Коммит 3d57edb614
1 изменённых файлов: 17 добавлений и 0 удалений

Просмотреть файл

@ -1963,6 +1963,11 @@ void WebRenderBridgeParent::CompositeToTarget(VsyncId aId,
AUTO_PROFILER_TRACING_MARKER("Paint", "CompositeToTarget", GRAPHICS);
if (mPaused || !mReceivedDisplayList) {
ResetPreviousSampleTime();
TimeStamp now = TimeStamp::Now();
PROFILER_ADD_TEXT_MARKER("SkippedComposite",
mPaused ? "Paused"_ns
: "No display list"_ns,
JS::ProfilingCategoryPair::GRAPHICS, now, now);
return;
}
@ -1980,6 +1985,11 @@ void WebRenderBridgeParent::CompositeToTarget(VsyncId aId,
id.mSkippedComposites++;
}
}
TimeStamp now = TimeStamp::Now();
PROFILER_ADD_TEXT_MARKER("SkippedComposite",
"Too many pending frames"_ns,
JS::ProfilingCategoryPair::GRAPHICS, now, now);
return;
}
MaybeGenerateFrame(aId, /* aForceGenerateFrame */ false);
@ -2003,6 +2013,10 @@ void WebRenderBridgeParent::MaybeGenerateFrame(VsyncId aId,
// Skip WR render during paused state.
if (cbp->IsPaused()) {
TimeStamp now = TimeStamp::Now();
PROFILER_ADD_TEXT_MARKER(
"SkippedComposite",
"CompositorBridgeParent is paused"_ns,
JS::ProfilingCategoryPair::GRAPHICS, now, now);
cbp->NotifyPipelineRendered(mPipelineId, mWrEpoch, VsyncId(), now, now,
now);
return;
@ -2037,6 +2051,9 @@ void WebRenderBridgeParent::MaybeGenerateFrame(VsyncId aId,
if (!generateFrame) {
// Could skip generating frame now.
PROFILER_ADD_TEXT_MARKER("SkippedComposite",
"No reason to generate frame"_ns,
JS::ProfilingCategoryPair::GRAPHICS, start, start);
ResetPreviousSampleTime();
return;
}