يستخدم MeasureSleep
لقياس دقة النوم (ن). بشكل افتراضي، يوجد في حلقة لا نهائية لقياس دلتا النوم، ولكن يمكنك استخدام الوسيطة --samples
للحصول على مقاييس المتوسط وSTDEV.
يتم استخدام SetTimerResolution
لطلب دقة أعلى عن طريق استدعاء NtSetTimerResolution. كمثال لبدء نسخة مخفية من البرنامج تلقائيًا عند بدء تشغيل النظام ورفع الدقة إلى 0.5 مللي ثانية، ضع الملف الثنائي في مكان آمن وقم بإنشاء مهمة مجدولة في برنامج جدولة المهام (التعليمات) باستخدام الأمر أدناه كمثال.
C:SetTimerResolution.exe --resolution 5000 --no-console
وفقًا لتعليق على مقالة Great Rule Change، في Windows Server 2022+ وWindows 11+، يمكن أيضًا استخدام مفتاح التسجيل أدناه بحيث يكون طلب دقة أعلى فعالاً على مستوى النظام بأكمله بدلاً من عملية الاتصال فقط. يجب استخدام هذا فقط لأغراض التصحيح.
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Managerkernel]
"GlobalTimerResolutionRequests"=dword:00000001
يمكن استخدام البرنامج النصي micro-adjust-benchmark.ps1 لأتمتة عملية رسم الدقة مقابل الدقة. يمكن تصور النتائج باستخدام Chart-studio.plotly.com.
git clone https: // github.com / valleyofdoom / TimerResolution.git
cd .TimerResolution
# x64
$ env: VCPKG_DEFAULT_TRIPLET = " x64-windows "
# install dependencies
vcpkg install
# replace "SetTimerResolution" with "MeasureSleep" if desired
MSBuild.exe .TimerResolution.sln - p:Configuration = Release - p:Platform = x64 - t:SetTimerResolution