Display totals on new bar
This commit is contained in:
parent
8bad1e21e5
commit
c497ce64f7
1 changed files with 25 additions and 5 deletions
|
@ -53,6 +53,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
private const int LinePadding = 2;
|
private const int LinePadding = 2;
|
||||||
private const int ColumnSpacing = 15;
|
private const int ColumnSpacing = 15;
|
||||||
private const int FilterHeight = 24;
|
private const int FilterHeight = 24;
|
||||||
|
private const int BottomBarHeight = FilterHeight + LineHeight;
|
||||||
|
|
||||||
// Sorting
|
// Sorting
|
||||||
private List<KeyValuePair<ProfileConfig, TimingInfo>> _unsortedProfileData;
|
private List<KeyValuePair<ProfileConfig, TimingInfo>> _unsortedProfileData;
|
||||||
|
@ -321,7 +322,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
// Background lines to make reading easier
|
// Background lines to make reading easier
|
||||||
#region Background Lines
|
#region Background Lines
|
||||||
GL.Enable(EnableCap.ScissorTest);
|
GL.Enable(EnableCap.ScissorTest);
|
||||||
GL.Scissor(0, FilterHeight, Width, Height - TitleHeight - FilterHeight);
|
GL.Scissor(0, BottomBarHeight, Width, Height - TitleHeight - BottomBarHeight);
|
||||||
GL.Begin(PrimitiveType.Triangles);
|
GL.Begin(PrimitiveType.Triangles);
|
||||||
GL.Color3(0.2f, 0.2f, 0.2f);
|
GL.Color3(0.2f, 0.2f, 0.2f);
|
||||||
for (int i = 0; i < _sortedProfileData.Count; i += 2)
|
for (int i = 0; i < _sortedProfileData.Count; i += 2)
|
||||||
|
@ -423,7 +424,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
timingWidth = Width - xOffset - 370;
|
timingWidth = Width - xOffset - 370;
|
||||||
timingDataLeft = xOffset;
|
timingDataLeft = xOffset;
|
||||||
|
|
||||||
GL.Scissor((int)xOffset, FilterHeight, (int)timingWidth, Height - TitleHeight - FilterHeight);
|
GL.Scissor((int)xOffset, BottomBarHeight, (int)timingWidth, Height - TitleHeight - BottomBarHeight);
|
||||||
|
|
||||||
if (_displayGraph)
|
if (_displayGraph)
|
||||||
{
|
{
|
||||||
|
@ -434,7 +435,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
DrawBars(xOffset, yOffset, timingWidth);
|
DrawBars(xOffset, yOffset, timingWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
GL.Scissor(0, FilterHeight, Width, Height - TitleHeight - FilterHeight);
|
GL.Scissor(0, BottomBarHeight, Width, Height - TitleHeight - BottomBarHeight);
|
||||||
|
|
||||||
if (!_displayGraph)
|
if (!_displayGraph)
|
||||||
{
|
{
|
||||||
|
@ -445,7 +446,12 @@ namespace Ryujinx.Profiler.UI
|
||||||
|
|
||||||
// Display timestamps
|
// Display timestamps
|
||||||
#region Timestamps
|
#region Timestamps
|
||||||
verticalIndex = 0;
|
verticalIndex = 0;
|
||||||
|
long totalInstant = 0;
|
||||||
|
long totalAverage = 0;
|
||||||
|
long totalTime = 0;
|
||||||
|
long totalCount = 0;
|
||||||
|
|
||||||
GL.Enable(EnableCap.ScissorTest);
|
GL.Enable(EnableCap.ScissorTest);
|
||||||
foreach (var entry in _sortedProfileData)
|
foreach (var entry in _sortedProfileData)
|
||||||
{
|
{
|
||||||
|
@ -453,6 +459,11 @@ namespace Ryujinx.Profiler.UI
|
||||||
_fontService.DrawText($"{Profile.ConvertTicksToMS(entry.Value.Instant):F3} ({entry.Value.InstantCount})", xOffset, y, LineHeight);
|
_fontService.DrawText($"{Profile.ConvertTicksToMS(entry.Value.Instant):F3} ({entry.Value.InstantCount})", xOffset, y, LineHeight);
|
||||||
_fontService.DrawText($"{Profile.ConvertTicksToMS(entry.Value.AverageTime):F3}", 150 + xOffset, y, LineHeight);
|
_fontService.DrawText($"{Profile.ConvertTicksToMS(entry.Value.AverageTime):F3}", 150 + xOffset, y, LineHeight);
|
||||||
_fontService.DrawText($"{Profile.ConvertTicksToMS(entry.Value.TotalTime):F3}", 260 + xOffset, y, LineHeight);
|
_fontService.DrawText($"{Profile.ConvertTicksToMS(entry.Value.TotalTime):F3}", 260 + xOffset, y, LineHeight);
|
||||||
|
|
||||||
|
totalInstant += entry.Value.Instant;
|
||||||
|
totalAverage += entry.Value.AverageTime;
|
||||||
|
totalTime += entry.Value.TotalTime;
|
||||||
|
totalCount += entry.Value.InstantCount;
|
||||||
}
|
}
|
||||||
GL.Disable(EnableCap.ScissorTest);
|
GL.Disable(EnableCap.ScissorTest);
|
||||||
|
|
||||||
|
@ -466,6 +477,12 @@ namespace Ryujinx.Profiler.UI
|
||||||
|
|
||||||
_fontService.DrawText("Total (ms)", 260 + xOffset, yHeight, TitleFontHeight);
|
_fontService.DrawText("Total (ms)", 260 + xOffset, yHeight, TitleFontHeight);
|
||||||
_buttons[(int)ButtonIndex.TotalTitle].UpdateSize((int)(260 + xOffset), (int)yHeight, 0, Width, TitleFontHeight);
|
_buttons[(int)ButtonIndex.TotalTitle].UpdateSize((int)(260 + xOffset), (int)yHeight, 0, Width, TitleFontHeight);
|
||||||
|
|
||||||
|
// Totals
|
||||||
|
yHeight = FilterHeight + 2;
|
||||||
|
_fontService.DrawText($"{Profile.ConvertTicksToMS(totalInstant):F3} ({totalCount})", xOffset, yHeight, TitleFontHeight);
|
||||||
|
_fontService.DrawText($"{Profile.ConvertTicksToMS(totalAverage):F3}", 150 + xOffset, yHeight, TitleFontHeight);
|
||||||
|
_fontService.DrawText($"{Profile.ConvertTicksToMS(totalTime):F3}", 260 + xOffset, yHeight, TitleFontHeight);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -499,9 +516,12 @@ namespace Ryujinx.Profiler.UI
|
||||||
GL.Vertex2(Width, Height - TitleHeight);
|
GL.Vertex2(Width, Height - TitleHeight);
|
||||||
|
|
||||||
// Bottom divider
|
// Bottom divider
|
||||||
GL.Vertex2(0, FilterHeight);
|
GL.Vertex2(0, FilterHeight);
|
||||||
GL.Vertex2(Width, FilterHeight);
|
GL.Vertex2(Width, FilterHeight);
|
||||||
|
|
||||||
|
GL.Vertex2(0, BottomBarHeight);
|
||||||
|
GL.Vertex2(Width, BottomBarHeight);
|
||||||
|
|
||||||
// Bottom vertical dividers
|
// Bottom vertical dividers
|
||||||
GL.Vertex2(widthShowHideButton + 10, 0);
|
GL.Vertex2(widthShowHideButton + 10, 0);
|
||||||
GL.Vertex2(widthShowHideButton + 10, FilterHeight);
|
GL.Vertex2(widthShowHideButton + 10, FilterHeight);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue