2011-09-23 24 views
12

¿Hay algo (planeado) en la Biblioteca D para admitir temporizadores de alta precisión como QueryPerformanceCounter en C++? ¿Cómo puedo tener un temporizador portátil de alta precisión en D?QueryPerformanceCounter en D?

O si no está disponible, ¿cuál sería el más alto temporizador de percusión en D?

+1

QueryPerformanceCounter es parte de winapi. ¿No puedes llamar a las funciones de winapi en D? – Andrey

Respuesta

14

std.datetime tiene la estructura StopWatch para manejar el tiempo de precisión - y usa QueryPerformanceCounter internamente en Windows. En otros sistemas operativos, utiliza el reloj monotónico apropiado de alta precisión para ellos.

Si lo que necesita es garrapatas del reloj del sistema en lugar de un contador de tiempo concreto, puede llamar Clock.currSystemTick de la garrapata actual del reloj del sistema (o Clock.currAppTick para el número de garrapatas reloj del sistema desde el inicio de la aplicación). Pero StopWatch es lo que desea si quiere un temporizador.