mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1200252 - Add marker for when the IPC request for a composite is sent to the compositor thread, r=jsantell,matt
This commit is contained in:
parent
113dd9e919
commit
9231ac0501
@ -1421,7 +1421,8 @@ pref("devtools.performance.memory.sample-probability", "0.05");
|
||||
// Can't go higher than this without causing internal allocation overflows while
|
||||
// serializing the allocations data over the RDP.
|
||||
pref("devtools.performance.memory.max-log-length", 125000);
|
||||
pref("devtools.performance.timeline.hidden-markers", "[\"Composite\"]");
|
||||
pref("devtools.performance.timeline.hidden-markers",
|
||||
"[\"Composite\",\"CompositeForwardTransaction\"]");
|
||||
pref("devtools.performance.profiler.buffer-size", 10000000);
|
||||
pref("devtools.performance.profiler.sample-frequency-khz", 1);
|
||||
pref("devtools.performance.ui.invert-call-tree", true);
|
||||
|
@ -78,6 +78,11 @@ const TIMELINE_BLUEPRINT = {
|
||||
colorName: "graphs-green",
|
||||
label: L10N.getStr("marker.label.composite"),
|
||||
},
|
||||
"CompositeForwardTransaction": {
|
||||
group: 0,
|
||||
colorName: "graphs-bluegrey",
|
||||
label: L10N.getStr("marker.label.compositeForwardTransaction"),
|
||||
},
|
||||
|
||||
/* Group 1 - JS */
|
||||
"DOMEvent": {
|
||||
|
@ -18,6 +18,7 @@ marker.label.styles=Recalculate Style
|
||||
marker.label.reflow=Layout
|
||||
marker.label.paint=Paint
|
||||
marker.label.composite=Composite Layers
|
||||
marker.label.compositeForwardTransaction=Composite Request Sent
|
||||
marker.label.javascript=Function Call
|
||||
marker.label.parseHTML=Parse HTML
|
||||
marker.label.parseXML=Parse XML
|
||||
|
@ -38,6 +38,7 @@
|
||||
/* Colors used in Graphs, like performance tools. Mostly similar to some "highlight-*" colors. */
|
||||
--theme-graphs-green: #70bf53;
|
||||
--theme-graphs-blue: #46afe3;
|
||||
--theme-graphs-bluegrey: #5e88b0;
|
||||
--theme-graphs-purple: #df80ff;
|
||||
--theme-graphs-yellow: #d99b28;
|
||||
--theme-graphs-red: #eb5368;
|
||||
|
@ -38,6 +38,7 @@
|
||||
/* Colors used in Graphs, like performance tools. Similar colors to Chrome's timeline. */
|
||||
--theme-graphs-green: #85d175;
|
||||
--theme-graphs-blue: #83b7f6;
|
||||
--theme-graphs-bluegrey: #0072ab;
|
||||
--theme-graphs-purple: #b693eb;
|
||||
--theme-graphs-yellow: #efc052;
|
||||
--theme-graphs-red: #e57180;
|
||||
|
@ -549,18 +549,22 @@
|
||||
* Marker colors
|
||||
*/
|
||||
|
||||
menuitem.marker-color-graphs-purple:before,
|
||||
.marker-color-graphs-purple {
|
||||
background-color: var(--theme-graphs-purple);
|
||||
}
|
||||
menuitem.marker-color-graphs-grey:before,
|
||||
.marker-color-graphs-grey{
|
||||
background-color: var(--theme-graphs-grey);
|
||||
}
|
||||
menuitem.marker-color-graphs-green:before,
|
||||
.marker-color-graphs-green {
|
||||
background-color: var(--theme-graphs-green);
|
||||
}
|
||||
menuitem.marker-color-graphs-blue:before,
|
||||
.marker-color-graphs-blue {
|
||||
background-color: var(--theme-graphs-blue);
|
||||
}
|
||||
menuitem.marker-color-graphs-bluegrey:before,
|
||||
.marker-color-graphs-bluegrey {
|
||||
background-color: var(--theme-graphs-bluegrey);
|
||||
}
|
||||
menuitem.marker-color-graphs-purple:before,
|
||||
.marker-color-graphs-purple {
|
||||
background-color: var(--theme-graphs-purple);
|
||||
}
|
||||
menuitem.marker-color-graphs-yellow:before,
|
||||
.marker-color-graphs-yellow {
|
||||
background-color: var(--theme-graphs-yellow);
|
||||
@ -569,9 +573,9 @@ menuitem.marker-color-graphs-red:before,
|
||||
.marker-color-graphs-red {
|
||||
background-color: var(--theme-graphs-red);
|
||||
}
|
||||
menuitem.marker-color-graphs-blue:before,
|
||||
.marker-color-graphs-blue {
|
||||
background-color: var(--theme-graphs-blue);
|
||||
menuitem.marker-color-graphs-grey:before,
|
||||
.marker-color-graphs-grey{
|
||||
background-color: var(--theme-graphs-grey);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2973,6 +2973,21 @@ TabChild::DidComposite(uint64_t aTransactionId,
|
||||
manager->DidComposite(aTransactionId, aCompositeStart, aCompositeEnd);
|
||||
}
|
||||
|
||||
void
|
||||
TabChild::DidRequestComposite(const TimeStamp& aCompositeReqStart,
|
||||
const TimeStamp& aCompositeReqEnd)
|
||||
{
|
||||
nsCOMPtr<nsIDocShell> docShell = do_GetInterface(WebNavigation());
|
||||
if (!docShell) {
|
||||
return;
|
||||
}
|
||||
|
||||
TimelineConsumers::AddMarkerForDocShell(docShell.get(),
|
||||
"CompositeForwardTransaction", aCompositeReqStart, MarkerTracingType::START);
|
||||
TimelineConsumers::AddMarkerForDocShell(docShell.get(),
|
||||
"CompositeForwardTransaction", aCompositeReqEnd, MarkerTracingType::END);
|
||||
}
|
||||
|
||||
void
|
||||
TabChild::ClearCachedResources()
|
||||
{
|
||||
|
@ -465,6 +465,8 @@ public:
|
||||
void DidComposite(uint64_t aTransactionId,
|
||||
const TimeStamp& aCompositeStart,
|
||||
const TimeStamp& aCompositeEnd);
|
||||
void DidRequestComposite(const TimeStamp& aCompositeReqStart,
|
||||
const TimeStamp& aCompositeReqEnd);
|
||||
|
||||
void ClearCachedResources();
|
||||
|
||||
|
@ -571,6 +571,8 @@ ClientLayerManager::StopFrameTimeRecording(uint32_t aStartIndex,
|
||||
void
|
||||
ClientLayerManager::ForwardTransaction(bool aScheduleComposite)
|
||||
{
|
||||
TimeStamp start = TimeStamp::Now();
|
||||
|
||||
if (mForwarder->GetSyncObject()) {
|
||||
mForwarder->GetSyncObject()->FinalizeFrame();
|
||||
}
|
||||
@ -636,6 +638,12 @@ ClientLayerManager::ForwardTransaction(bool aScheduleComposite)
|
||||
// this may result in Layers being deleted, which results in
|
||||
// PLayer::Send__delete__() and DeallocShmem()
|
||||
mKeepAlive.Clear();
|
||||
|
||||
TabChild* window = mWidget->GetOwningTabChild();
|
||||
if (window) {
|
||||
TimeStamp end = TimeStamp::Now();
|
||||
window->DidRequestComposite(start, end);
|
||||
}
|
||||
}
|
||||
|
||||
ShadowableLayer*
|
||||
|
Loading…
Reference in New Issue
Block a user