Как цифровые часы с часами минут секунд и миллисекунд 00: 00: 00: 00 Это класс я есть сейчас:Как добавить метод, который будет подсчитывать время выполнения программы?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Capture.Hook
{
public class FramesPerSecond
{
int _frames = 0;
int _lastTickCount = 0;
float _lastFrameRate = 0;
public void Frame()
{
_frames++;
if (Math.Abs(Environment.TickCount - _lastTickCount) > 1000)
{
_lastFrameRate = (float)_frames * 1000/Math.Abs(Environment.TickCount - _lastTickCount);
_lastTickCount = Environment.TickCount;
_frames = 0;
}
}
public float GetFPS()
{
return _lastFrameRate;
}
}
}
И я использую его, как это в другом классе:
if (this.FPS.GetFPS() >= 1)
{
font.DrawText(null, String.Format("{0:N0} fps", this.FPS.GetFPS()), 5, 5, SharpDX.Color.Red);
font.DrawText(null, String.Format("{0:N0} fps", this.FPS.GetFPS()), 5, 5, SharpDX.Color.Red);
}
что я хочу, что во второй строке:
font.DrawText(null, String.Format("{0:N0} fps", this.FPS.GetFPS()), 5, 5, SharpDX.Color.Red);
Для отображения при первой строке и будет показывать время часы. Возможно, я могу добавить метод, показывающий время в этом классе, а не в классе FramesPerSecond.
Как я могу сделать метод и как его отобразить с помощью font.DrawText?
Что я пытался до сих пор в классе FramesPerSecond я добавил:
static DateTime _startTime = DateTime.Now;
Затем добавил:
public static TimeSpan RunTime
{
get
{
return DateTime.Now - _startTime;
}
}
Тогда в другом классе, чтобы использовать его я добавил:
string timeRunning = FramesPerSecond.RunTime.ToString("hh:mm:ss:ff");
И я получаю исключение в этой строке: string timeRunning = FramesPerSecond.RunTime.ToString ("hh: mm: ss: ff");
Error: Error in InitialiseHook: System.FormatException: Input string was not in a correct format.
at System.Globalization.TimeSpanFormat.FormatCustomized(TimeSpan value, String format, DateTimeFormatInfo dtfi)
at System.Globalization.TimeSpanFormat.Format(TimeSpan value, String format, IFormatProvider formatProvider)
at System.TimeSpan.ToString(String format)
Является ли «временным часом» текущее системное время, время работы игры, какое-то заданное время и т. Д.? –
Рон «Время» - это время игры. Поскольку игра находится в полноэкранном режиме directx, я должен использовать ее так же, как и в drawtext текста шрифта, и в той же идее GetFPS. Мне нужен только таймер или что-то в этом роде и показать его так же, как я отобразил GetFPS с шрифтом.DrawText – user1196715