看板 Headphone 關於我們 聯絡資訊
※ 引述《Myt33 ()》之銘言: : 最近又在研究MMCSS的參數設定,目前調整到的設置,感覺音場有比原廠設定還要大一點@@ : https://www.dropbox.com/s/99tqvirjyyi3aip/MMCSS%E8%AA%BF%E6%95%B4.rar?dl=0 : 裡面有2個reg檔,點擊執行即可,其中有包含了還原到win7原廠設定的reg檔 : 我自已的OS是Windows 7 64bit,播放器是foobar2000 v1.3.6, : foobar裡面設定MMCSS類別是吃「playback」, : 我的電腦開啟foobar2000時OS的time resolution是1ms : 不知這套設置是否套用在每台電腦都會有一樣的效果~分享給有空的版友試試看@@ 好久不見的話題,一年多前因為MMCSS的調整而一路找到了好多可以調整 的地方,都是跟即時播放的優先權與系統的時間精度有關,現在既然原PO 又浮出了這串,又剛好是週末,就乾脆整理一下自己的心得吧,當作備份也好. 1.MMCSS 本串的主角,一年多以前就已經被介紹過,所以功能敘述就跳過吧. 以結論來說,我還是維持一年多前在推文提到的方向,低延遲 高優先序, 其中Clock Rate當初引起一番討論,最初我以為數值代表的是Scheduling 相關的頻率,後來根據國外論壇的討論猜測是單位時間長度...數值越低 Scheduling調整的頻率就越高,而以聽感來說,我覺得數值調低之後比較接 近我希望出現的效果,所以目前還是延續把它調低的方向. 以下是reg內各項的設定值,XXXX(OOOO)是十六進位值(十進位值)的意思. Clock Rate: 1388(5000) or 5(5) 預設值是(10000) Priority: 8(8) 範圍是1~8,其中8表示最高優先權 Scheduling Category: High SFIO Priority: High 2.HPET 這指的是高精度事件計時器(High Precision Event Timer), 之前應該也有文章介紹過,若要使用,建議還要搭配 bcdedit /set useplatformclock true指令,讓HPET成為OS跟 CPU統一的時間源. 參考資料: http://ppt.cc/W3ra 使用方法: 在bios開啟HPET後,進系統, CMD 輸入 bcdedit /set useplatformclock true 要關閉的話, CMD輸入 bcdedit /deletevalue useplatformclock 不過要注意的是,vista之後才有支援這設定. 若要確認是否有成功啟用,可下載WinTimerTester http://ppt.cc/838l 解壓縮執行後,確認QueryPerformanceFrequency是不是14.3Mhz的近似值. 是的話就沒錯了 3.IRQ Priority 這是很早就在網路上流傳的tweak,在OS內針對重要元件的IRQ通道提高優先權, 應用在CAT的話,就是將系統計時器 系統時鐘等時間元件以及音效輸出裝置的 優先權拉高.一般來說IRQ 0和8分別是系統計時器和系統時鐘,是非常建議調整 的元件,剩下的音效輸出裝置以及我個人額外調整的數值資料處理器(NDP/numberic data processor)及AHCI controller就需要自己從裝置管理員裡確認IRQ通道編 號再調整了. 使用方法: 先進入裝置管理員(電腦-內容-裝置管理員),在檢視內選擇資源-依類型or連線, 點開IRQ(插斷要求),會有系統裝置的IRQ編號列表,確認0與8是計時器與時鐘再 找到音效裝置(USB輸出可以找對應的USB controller)的編號.之後進入regedit 編輯,其中要修改的機碼位置在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl 點開後,windows預設應該是空的,右鍵-新增-DWORD,輸入名稱為 IRQ#Priority, 其中的#就是IRQ編號,例如系統時鐘是IRQ(8),就是 IRQ8Priority,再把值設成 1即可.之後的IRQ(0)及音效裝置同樣都是這樣做,例如我的情況就是 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl] "IRQ0Priority"=dword:00000001 "IRQ8Priority"=dword:00000001 "IRQ13Priority"=dword:00000001 "IRQ16Priority"=dword:00000001 "IRQ-2Priority"=dword:00000001 最後離開regedit並重開機即可. 4.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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.147.116 ※ 文章網址: http://www.ptt.cc/bbs/Headphone/M.1420865982.A.F71.html
MitsuhideA: 01/10 14:00
evadodoya: 這一篇請M起來 01/10 14:24
lowenli: 讚 01/10 15:00
vpjack: 讚!這篇真夠專業的 01/10 15:27
Myt33: 讚~!! 強大!! 01/10 15:57
Myt33: 鐵殼hub2.0上USB孔的IRQ編號是-2~-9,這個要怎麼看呢?? 01/10 16:17
Myt33: 我是插在hub上的"USB 3"這個孔(0123456共七孔) 不知要選哪 01/10 16:18
Myt33: 個才對@@ (-2~-9) 01/10 16:19
jakkx: 只能推了… 01/10 16:22
louis0407: Usb hub用了好幾個irq編號? 01/10 16:25
louis0407: 如果是這樣 只能一個on off抓到你實際是用哪個了 01/10 16:26
louis0407: 但你得先確定你沒找錯地方 主機版上可能會有好幾個 01/10 16:28
louis0407: Usb controller但usb hub只會連結其中一個 01/10 16:29
louis0407: 一個controller也只會有一個Irq編號(但可能會和其它 01/10 16:31
louis0407: 裝置共用) 01/10 16:31
Myt33: 我也覺得有點奇怪,可能是插在PCIE的USB擴充卡上的關係@@ 01/10 16:37
barery24: 覺得你可能找錯了,建議可先用檢視=>裝置(依連線)來確認 01/10 19:56
barery24: usb dac是接在那個controller上 01/10 19:56