Как установить разрешение таймера к 0,5 мс?

Я хочу установить разрешение таймера машины на 0,5 мс.

Утилита Sysinternal сообщает, что минимальное разрешение часов составляет 0,5 мс, таким образом, это может быть сделано.

P.S. Я знаю, как установить его на 1 мс.

P.P.S. Я изменил его от C# до более общего вопроса (благодаря Hans)

Системное разрешение таймера

5
задан Boppity Bop 30 June 2010 в 22:36
поделиться

3 ответа

NtSetTimerResolution

Пример кода:

#include <windows.h>

extern "C" NTSYSAPI NTSTATUS NTAPI NtSetTimerResolution(ULONG DesiredResolution, BOOLEAN SetResolution, PULONG CurrentResolution);

...

ULONG currentRes;
NtSetTimerResolution(5000, TRUE, &currentRes);

Ссылка с ntdll.lib.

8
ответ дан 18 December 2019 в 10:42
поделиться

Лучшее, что вы можете получить от Win32 API, - это одна миллисекунда с timeBeginPeriod и timeSetEvent. Возможно, ваш HAL может работать лучше, но это академично, вы не можете писать код драйвера устройства на C #.

3
ответ дан 18 December 2019 в 10:42
поделиться

Для этого вам понадобится таймер с высоким разрешением .. Вы можете найти некоторую информацию здесь: http://www.codeproject.com/KB/cs/highperformancetimercshar.aspx

РЕДАКТИРОВАТЬ: Более подробную информацию можно найти здесь: установить на десятые доли миллисекунды; http://msdn.microsoft.com/en-us/library/aa964692 (VS.80) .aspx

1
ответ дан 18 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: