visual usar temporizador reloj regresivo net detener cronometro con como activar c# .net timer benchmarking

c# - usar - Temporizador de alto rendimiento versus cronómetro



timer regresivo c# (3)

¿Alguien sabe si el HiPerfTimer o la clase HiPerfTimer es mejor para el benchmarking, y por qué?


Son los mismos cuando se trata de tiempos de alta resolución.

Ambos usan esto:

[DllImport("Kernel32.dll")] private static extern bool QueryPerformanceCounter(out long PerformanceCount);

y esto:

[DllImport("Kernel32.dll")] private static extern bool QueryPerformanceFrequency(out long Frequency);

para hacer el tiempo subyacente. (Puede verificar esto con Reflector.NET). Usaría StopWatch porque ya es parte del framework (no es necesario vincular otro dll) y tenía mejores características que HiPerfTimer.


StopWatch: también funciona en sistemas que no admiten un contador de rendimiento de alta resolución y no necesita bibliotecas externas para usarlo.

El otro arroja una excepción Win32Exception si no hay soporte para un contador de alta resolución.