merged RA/CncPerfDebugLogic

separate text and graph, fixes #3491
small repositions to fit with other widgets
This commit is contained in:
Matthias Mailänder
2013-08-08 23:09:48 +02:00
parent 3ae173394b
commit 03a0640f65
8 changed files with 64 additions and 88 deletions

View File

@@ -15,21 +15,18 @@ namespace OpenRA.Mods.RA.Widgets.Logic
{
public class PerfDebugLogic
{
public PerfDebugLogic()
[ObjectCreator.UseCtor]
public PerfDebugLogic(Widget widget)
{
var r = Ui.Root;
var perfRoot = r.Get("PERF_BG");
perfRoot.IsVisible = () => perfRoot.Visible && Game.Settings.Debug.PerfGraph;
var perfGraph = widget.Get("GRAPH_BG");
perfGraph.IsVisible = () => Game.Settings.Debug.PerfGraph;
// Perf text
var perfText = perfRoot.Get<LabelWidget>("TEXT");
var perfText = widget.Get<LabelWidget>("PERF_TEXT");
perfText.IsVisible = () => Game.Settings.Debug.PerfText;
perfText.GetText = () => "Render {0} ({5}={2:F1} ms)\nTick {4} ({3:F1} ms)".F(
Game.RenderFrame,
Game.NetFrameNumber,
PerfHistory.items["render"].Average(Game.Settings.Debug.Samples),
PerfHistory.items["tick_time"].Average(Game.Settings.Debug.Samples),
Game.LocalTick,
perfText.GetText = () =>
"Tick {0} @ {1:F1} ms\nRender {2} @ {3:F1} ms\nBatches: {4}".F(
Game.LocalTick, PerfHistory.items["tick_time"].Average(Game.Settings.Debug.Samples),
Game.RenderFrame, PerfHistory.items["render"].Average(Game.Settings.Debug.Samples),
PerfHistory.items["batches"].LastValue);
}
}