Fixes and tweaks for profiler window
This commit is contained in:
@@ -274,10 +274,11 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
ref ProfilerCPU.Event e = ref events[index];
|
ref ProfilerCPU.Event e = ref events[index];
|
||||||
|
|
||||||
double length = e.End - e.Start;
|
double length = e.End - e.Start;
|
||||||
|
if (length <= 0.0)
|
||||||
|
return;
|
||||||
double scale = 100.0;
|
double scale = 100.0;
|
||||||
float x = (float)((e.Start - startTime) * scale);
|
float x = (float)((e.Start - startTime) * scale);
|
||||||
float width = (float)(length * scale);
|
float width = (float)(length * scale);
|
||||||
|
|
||||||
Timeline.Event control;
|
Timeline.Event control;
|
||||||
if (_timelineEventsCache.Count != 0)
|
if (_timelineEventsCache.Count != 0)
|
||||||
{
|
{
|
||||||
@@ -301,7 +302,6 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
while (++index < events.Length)
|
while (++index < events.Length)
|
||||||
{
|
{
|
||||||
int subDepth = events[index].Depth;
|
int subDepth = events[index].Depth;
|
||||||
|
|
||||||
if (subDepth <= e.Depth)
|
if (subDepth <= e.Depth)
|
||||||
break;
|
break;
|
||||||
if (subDepth == childrenDepth)
|
if (subDepth == childrenDepth)
|
||||||
@@ -376,11 +376,8 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
for (int j = 0; j < events.Length; j++)
|
for (int j = 0; j < events.Length; j++)
|
||||||
{
|
{
|
||||||
var e = events[j];
|
var e = events[j];
|
||||||
|
|
||||||
// Reject events outside the view range
|
|
||||||
if (viewRange.SkipEvent(ref e))
|
if (viewRange.SkipEvent(ref e))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
maxDepth = Mathf.Max(maxDepth, e.Depth);
|
maxDepth = Mathf.Max(maxDepth, e.Depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -412,10 +409,8 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
var e = events[j];
|
var e = events[j];
|
||||||
if (e.Depth == 0)
|
if (e.Depth == 0)
|
||||||
{
|
{
|
||||||
// Reject events outside the view range
|
|
||||||
if (viewRange.SkipEvent(ref e))
|
if (viewRange.SkipEvent(ref e))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
AddEvent(startTime, maxDepth, xOffset, depthOffset, j, events, container);
|
AddEvent(startTime, maxDepth, xOffset, depthOffset, j, events, container);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -472,9 +467,7 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
{
|
{
|
||||||
var e = events[i];
|
var e = events[i];
|
||||||
var time = Math.Max(e.End - e.Start, MinEventTimeMs);
|
var time = Math.Max(e.End - e.Start, MinEventTimeMs);
|
||||||
|
if (e.End <= 0.0f || viewRange.SkipEvent(ref e))
|
||||||
// Reject events outside the view range
|
|
||||||
if (viewRange.SkipEvent(ref e))
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Count sub-events time
|
// Count sub-events time
|
||||||
@@ -483,7 +476,7 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
for (int k = i + 1; k < events.Length; k++)
|
for (int k = i + 1; k < events.Length; k++)
|
||||||
{
|
{
|
||||||
var sub = events[k];
|
var sub = events[k];
|
||||||
if (sub.Depth == e.Depth + 1)
|
if (sub.Depth == e.Depth + 1 && e.End > 0.0f)
|
||||||
{
|
{
|
||||||
subEventsTimeTotal += Math.Max(sub.End - sub.Start, MinEventTimeMs);
|
subEventsTimeTotal += Math.Max(sub.End - sub.Start, MinEventTimeMs);
|
||||||
}
|
}
|
||||||
@@ -491,7 +484,6 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
subEventsMemoryTotal += sub.ManagedMemoryAllocation + e.NativeMemoryAllocation;
|
subEventsMemoryTotal += sub.ManagedMemoryAllocation + e.NativeMemoryAllocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -532,7 +524,7 @@ namespace FlaxEditor.Windows.Profiler
|
|||||||
}
|
}
|
||||||
row.Depth = e.Depth;
|
row.Depth = e.Depth;
|
||||||
row.Width = _table.Width;
|
row.Width = _table.Width;
|
||||||
row.Visible = e.Depth < 3;
|
row.Visible = e.Depth < 2;
|
||||||
row.BackgroundColor = i % 2 == 0 ? rowColor2 : Color.Transparent;
|
row.BackgroundColor = i % 2 == 0 ? rowColor2 : Color.Transparent;
|
||||||
row.Parent = _table;
|
row.Parent = _table;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user