Higuma 寫:你有興趣玩的話,我最近在摸Windows Time resolution.
就是os內,時間的最小刻度或是事件的最小間隔.
Windows預設是15.6ms,即一秒有64次插斷判定,實際可接受
的上限是0.5ms,及一秒2000次插斷判定.理論上更低的time resolution
可以達到更低的整體延遲,更接近realtime傳輸,但更頻繁的插斷也會
增加耗電量以及消耗較多的系統資源.
工具包,解壓縮後執行bat批次檔,選擇三種模式之一,會自動安裝成系統服務,
之後可由批次檔啟動或自行由services.msc啟動.須注意的是,服務需要由
SetTimerResolutionService.exe啟動,而批次檔運作機制是在資料夾內複製
指定模式的SetTimerResolutionService.exe,並設成服務啟動路徑,所以安裝
後不能刪除資料夾,不然會找不到指定檔案以致服務無法啟動
http://www.mediafire.com/?nt8c638949yc0t2
原始出處,有一些基本說明
http://forums.guru3d.com/showthread.php?t=376458
臨時性調整工具,關掉就恢復,但聽感差異似乎不如上述方案明顯
http://www.lucashale.com/timer-resolution/
MS偵測time resolution的官方工具程式,不信任第三方程式的數據可以改用這個,
但須在MS-dos(CMD)裡執行方能正常看到結果
http://technet.microsoft.com/en-us/sysinternals/bb897568.aspx
解釋一下這個怎麼用,其實就跟我上面講的一樣,先下載
http://www.mediafire.com/?nt8c638949yc0t2
解壓縮STRservice Install 2,裡面會有一個installer.bat,
執行他,裡面有三種安裝模式(兩個是用C# 一個是用C++,細節說明請看上面的原始出處連結),
我是直接裝C++,沒想太多.要注意的是,這個程式的安裝流程是
1.根據指定模式從對應的資料夾(就是壓縮檔內那三個資料夾,裡面看起來檔案一樣,實際上
是三種版本,只是檔名一樣)中把SetTimerResolutionService.exe複製出來
2.新增系統服務,並指定剛複製出來的SetTimerResolutionService.exe為執行路徑
之後可以再由installer.bat中的選項直接啟動這個服務,或是重開機自動執行,或著手動去
services.msc中手動啟動.總之,到這裡就是安裝成功了.
注意事項:
1.三種模式選一種就好,千萬別連著裝,我不知道會發生啥事,但一定會出事.
2.因為是自動指定路徑,所以STRservice Install這個資料夾不能刪除不能移動也不能改名,
否則會因為找不到SetTimerResolutionService.exe而無法啟動服務,所以為了方便
管理,一開始解壓縮後請把資料夾移到你看得順眼&容易找不會忘的地方再開始安裝.
3.我原本想將資料夾丟進system32,跟其他系統服務擺一起,卻發現會無法啟動,大概
又是執行權限問題,此時只能先由installer.bat把服務移除,STRservice Install資料夾
換地方擺再重新安裝.
-------------------------------------------------------------------------------------------------------
安裝完如果要確認是否產生作用,可下載
http://www.lucashale.com/timer-resolution/
選免費的1.2版即可.解壓縮後直接執行TimerResolution.exe,
會看到現在的time resoluion是多少,Windows預設會是15.6ms/10ms,
安裝上述系統服務的目的是調低成0.5ms,所以看到current timeresoluion
是0.5ms就表示正確啟用了.
至於聽感效果,我覺得很好,更活生 更準確 更鮮明的感受.
-----------------------------------------------------------------------------------------------------
再補充一下,http://www.mediafire.com/?nt8c638949yc0t2
下載下來的是一個7z壓縮檔,解壓縮出來會是一個STRservice Install的資料夾,
裡面有三個子資料夾跟installer.bat安裝批次檔.不管選哪個安裝模式,批次檔都
會自動指定XXXXXX/STRservice Install/SetTimerResolutionService.exe為系統
服務執行路徑,所以路徑必須一直有效才能正常啟動服務.