<commit_before>﻿using ImGuiNET;

namespace OpenSage.Diagnostics
{
    internal class GameLoopView : DiagnosticView
    {
        public GameLoopView(DiagnosticViewContext context) : base(context)
        {

        }

        public override string DisplayName => "Game loop";

        protected override void DrawOverride(ref bool isGameViewFocused)
        {
            ImGui.Text($"Logic frame: {Game.CurrentFrame}");
            ImGui.Separator();
            ImGui.Text($"Map time:    {Game.MapTime.TotalGameTime}");
            ImGui.Text($"Render time: {Game.RenderTime.TotalGameTime}");
            ImGui.Text($"Frame time:  {Game.RenderTime.ElapsedGameTime}");
            ImGui.Text($"Cumulative update time error: {Game.CumulativeLogicUpdateError}");
        }
    }
}<commit_msg>Update GameLoopView based on feedback<commit_after>﻿using System;
using System.Globalization;
using ImGuiNET;

namespace OpenSage.Diagnostics
{
    internal sealed class GameLoopView : DiagnosticView
    {
        public GameLoopView(DiagnosticViewContext context) : base(context)
        {

        }

        public override string DisplayName => "Game loop";

        protected override void DrawOverride(ref bool isGameViewFocused)
        {
            ImGui.Text($"Logic frame: {Game.CurrentFrame}");
            ImGui.Separator();
            ImGui.Text($"Map time:    {FormatTime(Game.MapTime.TotalGameTime)}");
            ImGui.Text($"Render time: {FormatTime(Game.RenderTime.TotalGameTime)}");
            ImGui.Text($"Frame time:  {Game.RenderTime.ElapsedGameTime.TotalMilliseconds.ToString("F2", CultureInfo.InvariantCulture)} ms");
            ImGui.Text($"Cumulative update time error: {FormatTime(Game.CumulativeLogicUpdateError)}");
        }

        private static string FormatTime(TimeSpan timeSpan) => $"{timeSpan.TotalMinutes:00}:{timeSpan.TotalSeconds:00}:{timeSpan.Milliseconds:000}";
    }
}
{'fraction_non_alphanumeric': 0.11367207962283918, 'fraction_numerical': 0.0041906757464641176, 'mean_word_length': 3.10752688172043, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3129088', 'n_tokens_mistral': 533, 'n_tokens_neox': 536, 'n_words': 101}