Re: [閒聊] HTPC/CAT建構的自身經驗

看板Headphone作者 (NULL)時間5年前 (2019/04/05 08:32), 5年前編輯推噓11(11020)
留言31則, 3人參與, 5年前最新討論串3/8 (看更多)
※ 引述《louis0407 (能當個鄉民也是一種幸福)》之銘言: : 今天跑去參加了耳機祭,久久又燃起了寫文的衝動.所以想把 : 兩年前這篇文做個update,最主要是更新到Win10下的情況, : 雖然應該沒捨麼人有興趣,但就當自爽吧. 稍微補充幾點 讓大家參考一下 只是盡信書不如無書 還是自己嘗試的結果最準 : : 首先我想先提一下自己對CAT的想法,如果說Hi-End廠商是用最 : : 高昂的代價搭配最合理的機制來做最簡單的事以求得最理想得 : : 結果.那IT產業得主流思維就是用最低廉得代價搭配最複雜得 : : 機制來完成最困難且多變得任務以求得最經濟得結果.所以搞CAT, : : 就是企圖打破兩者之間得矛盾. : : CAT需要效能來壓低延遲,但提高效能卻通常會帶來額外的噪訊. : : CAT也需要純淨得訊號,但通常會帶來效能的衰減. : : 所以為了解決兩者的矛盾,我選擇的作法就是在壓低噪訊的同時, : : 簡化整體系統的task以及提高軟體層面的效率與整個音訊流程的 : : 優先權,在付出絕對效能低落的代價之後,追求足夠高得相對效能. : : ------------------------以下是正文---------------------------- : : 1.硬體裝置安裝 : : SATA裝置應避開第三方晶片提供之連接埠,以intel晶片組原生提供為優先, : : 具體情況從主機板說明書確認.此外個人經驗,電源線及sata線最好避免凹折 : : 纏繞,儘量保持線身的自然延展彎曲.未使用/連結之線材例外. : 這部分追加一點很重要,UASP,USB3.0後期提供的傳輸模式,詳細可以google一下. : 由於它能讓USB裝置支援雙向多工這個很潮很高級的傳輸機制,所以在讓有效速率 : 上升的同時,還能壓低USB裝置的I/O延遲(我在意的點),所以非常推薦想辦法啟用它. : 幾個達成條件如下: : 1)真USB3.0傳輸,所以USB DA之類只能走2.0的裝置就不用忙了,該關注的是那些USB : 外接硬碟之類的儲存裝置. : 2)使用Win10,由於UASP要啟用需要廠商提供對應的Driver,但實際上幾乎沒有廠商 : 願意提供,至少不是免費的,所以Win10下的通用USB 3.0 Driver就變成最泛用的 : 解決方案,因為他幫大家付錢給所有廠商了,Arent You Thankful? 也因此,非Win10 : 或對應的Windows Server OS,應該非常難搞定這功能,OSX太潮了我不確定,也許 : 蘋果店也很好心的幫大家付了權利金,有需要的可以自行確認. : 3)選擇支援UASP的USB橋接晶片,這部分只能自行想辦法確認,找到你裝置的USB晶片, : 再用UASP+晶片型號去查,或是反過來找可以支援的裝置. : : 2.基本Bios設置 : : 關閉多餘裝置(第三方晶片sata/1394/USB等等),並確認硬體參數正常,HPET : : 選項為開啟. : 修正為不啟用HPET,原因是後來發現使用CPU內部的TSC才是首選,HPET相對耗資源, : 也不見得更穩定. Bios基本設置可以參考 audiophile-optimizer-setup-guide 這份文件 : : 3.OS安裝 安裝時不要用預設微軟帳號登入 改用本地帳號 不然進入桌面後就開始同步 然後就重來吧^^" : 跟網友閒聊,發現大部分人不知道Win10有所謂的LTSB/LTSC版,可以不用定期大改版, : 而且原生就不包含APP市集等多餘系統元件,非常推薦使用.但缺點是沒有零售版,只能 : 透過MAK/KMS之類的方式取得授權. : : 4.driver與程式安裝 : : driver儘量更新到相容的官方最新版,包括chipset/USB3/AHCI/網路/vga等等. : : 其中安裝顯卡driver時,選擇安裝driver本體就好,CCC控制平台/轉碼工具之類 : 如同1.所敘,為了啟用UASP功能,USB3.0 driver請用Win10內建的版本,並確認裝置 : 管理員出現 USB Attached SCSI (UAS) 的控制器項目,同時儲存裝置也會標明是 : SCSI裝置,因為UASP的雙向多工其實就是從SCSI協議裡面參考來的. : : 的元件都取消安裝.同時這階段我會安裝一些函式庫並且維持在最新版,包括: : : MSVC,參考https://www.microsoft.com/en-us/download/details.aspx?id=26999 : : 找這個需要一點訣竅,否則很難確認自己找到的是最新版 : : 1)選英文版的微軟下載中心,中文版常缺東缺西或是關鍵字翻譯不一致 : : 2)用Visual C++ 20xx Redistributable Package當關鍵字搜尋,目前分別有 : : 2005/2008/2010/2012/2013/2015,得花點時間湊齊 : : 3)根據release date確認版本,因為微軟不會自動排序,得找個大概兩三頁確認 : : 最新版 : : 4)x86與x64都要裝(ia64不需要),一共會有十個安裝檔,裝完之後去控制台確認 : : 只有這十個MSVC,若有出現其他版本就移除掉(因為會是較舊的版本) : 由於OS環境都已經是Win10了,所以古早的2005/2008/2010 MSVC我覺得就不用再管 : 了,且MSVC從2017開始很明確的向下取代(要裝2017時會自動移除2015),所以除非 : 程式額外指定安裝,不然我建議只裝2017版本就可以了,不過x86/x64一樣都要裝. https://support.microsoft.com/zh-tw/help/2977003/the-latest- supported-visual-c-downloads 上面連結可以下載MSVC 2017 安裝滿簡單,安裝2017 x86/x64即可,舊版就可都移除 只是做這步驟之前最好先安裝完要用的舊程式 不然遇到安裝程式會檢查舊的MSVC就麻煩了 : : Intel C++,參考http://tinyurl.com/he7vso4 : : 選C++最新版本中最新的updates(Intel函式庫似乎有完全的相下相容,所以我只 : : 裝了最新版,有熟編譯器得網兄能補充嗎?),一樣32和64版都要裝. : : 之後開始精簡開機啟動項目,透過工具軟體或msconfig把非必要的啟動程式都停用. : : 包括各種自動啟動的工具程式,driver附贈的管理套件等等.我個人建議是只留windows : : 系統程式及防毒軟體(有需要的話),讓系統資源最大程度的清空. : : 參考設定:http://i.imgur.com/xbFtA8Y.jpg?1 : : 5.精簡系統服務,一樣可以透過工具軟體或services.msc調整,參考設定: : https://imgur.com/a/TmEgwAu : 其實動的應該不多,直接看停用了捨麼跟自動執行還有那些比較快. 你有滿多可以關掉的服務沒關@@ 再關掉一些對聲音表現有幫助 建議關閉順序:Windows設定->服務->工作排程器 先把Windows設定用不到的功能關一關,有些會一併關掉對應的服務 再去服務關閉用不到的服務 關閉方式: 1.一般直接把啟動類型改為已停用再重開機即可 不要直接停止服務 2.遇到啟動類型不能修改的 WIN+R,輸入regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 把start改為4再重開機即可 即使關掉服務,有些還會再工作排程器定時重啟 所以最後還要去檢查工作排程器 把排程關閉 一些從未執行排程可先不關 比較棘手的是Windows Update相關排程 會定時掃描,並啟動服務 以系統管理員權限執行權限也不足 不知有沒有人知道其他關閉Windows Update相關排程的方法? 最後再去事件檢視器看看多了那些警告與錯誤 : : 6.裝置管理員相關設定 : : 1)停用閒置之裝置,包括光碟機 USB控制器 空閒pci-e通道等,參考: : : http://imgur.com/a/pS87o : : 第二張圖要先在工具管理員選檢視-裝置(依連線),之後一個一個確認PCI-e通道 : : 是否有被使用(有使用的通道可以點開看到下屬的使用裝置),確認沒有裝置使用 : : 在使用的通道選右鍵-停用即可,部份裝置沒有停用選項而是解除安裝,請略過, : : 同時我還多停用了AMD顯卡的HDMI音訊裝置(AMD R7 200下方的HD Audio控制器). 定時檢查一下隱藏裝置 也可以清掉不少無用的裝置 : : 2)調整內建網卡的進階選項,包括接收與傳送緩衝區,岔斷調節速率等. : : 請參考 : : 中文(翻譯器直接翻譯,主要用來對照) : : http://www.intel.com/support/tw/network/adapter/pro100/sb/cs-029402.htm : : 英文(原始文稿) : : http://www.intel.com/support/network/adapter/pro100/sb/cs-029402.htm?switch=tw : : 另一篇類似的文件(但有一些不同的選項) : : http://www.intel.com/support/tw/network/sb/CS-025841.htm : : 英文原稿 : : http://www.intel.com/support/network/sb/CS-025841.htm?switch=tw : : 一般常見的網卡設定選項應該都在裡面了,原則上就是把緩衝區開大,岔斷調節調高, : : 所有網路晶片能預先處理的功能都打開,減少CPU被網路封包插斷的頻率. : : 7.雜項設定 : : 我的電腦-內容-進階-效能-視覺效果,可精簡選項,個人僅保留"使用視覺樣式"及 : : "去除字型毛邊". : : 我的電腦-內容-進階-效能-進階,勾選背景服務為最佳效能,調整虛擬記憶體選項,固定虛 : : 擬記憶體的大小(例如1024MB or 2048MB). : : 我的電腦-內容,視需求停用自動更新與遠端控制功能. : : 桌面除常用捷徑外保持淨空. : : 關閉所有軟體的自動更新功能,有需要時以手動方式處理. : : 進入工作排程器,停用不必要的排程(例如磁碟重組 Windows用戶經驗計畫等, : 工作排程器我偷懶了,因為Win10 LTSB版的項目實在太多,我只確定沒有那些背景 : 應用程式的相關項目就算了,老了懶得找. : : 防毒軟體,windows更新等採手動即可) : : 停用網際網路時間同步(右下角時鐘上,右鍵進入內容選項) : : 移除不常用之輸入法 : : 8.調整HPET為系統單一Timer,參考以下討論串 : : https://www.ptt.cc/bbs/Headphone/M.1420865982.A.F71.html : 如同2.所述,修改為不啟用HPET且不同步時鐘,直接用CPU內的TSC計時器. : : 9.調整IRQ priority與MMCSS, ,參考以下討論串 : : https://www.ptt.cc/bbs/Headphone/M.1420865982.A.F71.html : 修改為不調整IRQ 0和8的系統計時器和系統時鐘. 調整IRQ 8 效果滿明顯,IRQ 0 則不調整 建議大家可以嘗試比較一下 : : 10.調整time resolution, ,參考以下討論串 : : https://www.ptt.cc/bbs/Headphone/M.1420865982.A.F71.html : 理論上還是應該要調這個比較好,但我在Win10下找不到好的方式修改時間精度, : 有試過用設定time resolution的小程式調整,但可能是因為是從應用層執行這 : 種系統核心命令,運作機制不夠底層,反而產生副作用,而且不調聲音也很好,就 : 懶得再去找類似之前那樣嵌入系統服務的方式了. 我用TimerResolution.exe 這隻小程式效果還不錯 試過另一隻設定無效 聽音樂加分,但是對影像扣分 看影片我會關掉,聽音樂才開啟 https://www.ptt.cc/bbs/Headphone/M.1528812214.A.009.html 開啟"終極效能"模式 對影像與音樂都有一些幫助 : : 12.設定foobar,以realtime層級啟動與內部設定(full file buffer,mmcss,asio等) : : 請參考以下討論串: : : https://www.ptt.cc/bbs/AudioPlayer/M.1267115549.A.CD6.html : : https://www.ptt.cc/bbs/Headphone/M.1379781685.A.C6B.html : : https://www.ptt.cc/bbs/Headphone/M.1420865982.A.F71.html : : http://i.imgur.com/BH0mTAh.jpg
(啟用記憶體緩衝,MMCSS功能) : 修改為不使用full file buffer,因為發現其實有副作用,其他照舊. : : 13.bios進階設定(降頻 降壓 逼CL值等) : : 降壓與降頻是我的選擇,就我的經驗,這對聽感的影響很大,同時 : : 我還會搭配壓低記憶體的CL值. : : 就如我在前言所說,我認為CAT存在一個本質上的矛盾-噪訊與效能, : : 越高的效能有越低的延遲,但通常也帶來越多的噪訊. : : 所以我選擇用高規格的硬體元件去做降低運作電壓與時脈的動作, : : 因為這兩項參數會大幅影響噪訊量.而在高規格的硬體上,即使降 : : 到底,類似將CPU鎖死在常見的省電狀態,其效能都還是遠高於日常運用 : : (所以Intel才會推speedstep),甚至一般非重度的主流遊戲(例如LoL) : : 都沒有問題(非超高解析度+極端畫質下),在這點上,低階元件就比較沒有 : : 這樣的餘裕(例如I3/Pentium),所以換句話說,我想追求的是在跟噪訊對照 : : 後的相對效能. : : 但當然也可以直接購買特殊低功率的型號或不管噪訊,直接把效能拉到頂 : : (這方向我也試過,但聽感我不喜歡).總之硬體效能相關的參數是很個人化 : : 的選擇,降低電壓跟時脈只是我自己經驗的優先選擇. : 這兩年的經驗,降電壓優先,之後降時脈,最後是逼CL值,但一樣,這部分比較 : 吃個人聽感,除電壓外全部拉到滿(不OC下)也是種做法,聲音比較粗獷 毛躁, : 但動態 力道 密度會有明顯提升. : ----------------------------------------------------------------------- : 沒想到做個更新也花這麼多時間...........中間PTT還給我斷線了三次,崩潰. 降電壓對我的系統比較像調音 像是常常有人提到選擇平衡輸出低頻過多問題 就只能靠調整電壓來解決 還不能降到底,降太多聲音會虛掉 只能每個電壓一點一點調整 有點像0-100猜數字遊戲 系統零件有變動就可能需要再調整 比起上面的優化麻煩許多 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.95.81 ※ 文章網址: https://www.ptt.cc/bbs/Headphone/M.1554424334.A.435.html

04/05 14:05, 5年前 , 1F
系統服務那邊確實是我偷懶了,真的有心可以去查網路
04/05 14:05, 1F

04/05 14:06, 5年前 , 2F
資料,應該還有不少可以關閉
04/05 14:06, 2F
哈哈~當初也是服務這部分就不想動了 過一陣子才補齊 也確定還有進步空間 所以才提出來

04/05 14:07, 5年前 , 3F
電壓部分,低電壓沒有壞處,只是拿不到高時脈的好處
04/05 14:07, 3F

04/05 14:08, 5年前 , 4F
如果你覺得聲音虛掉,把時脈對應拉高一點就行了 只是
04/05 14:08, 4F

04/05 14:08, 5年前 , 5F
電壓大概也要跟著加一點才會穩定,基本上不管是電壓
04/05 14:08, 5F

04/05 14:10, 5年前 , 6F
還是時脈,都要確保一定程度的穩定性,否則系統等於
04/05 14:10, 6F

04/05 14:13, 5年前 , 7F
運作在當機邊緣,元件的訊號品質(SI)反而是劣化的
04/05 14:13, 7F
調低電壓真的差很多 我有嘗試每組電壓的極限 能調低的範圍還真大 調低到極限需要一點一點往上加 一方面是預留穩定運作空間 一方面找出表現最佳的點 整體還是降很多電壓

04/05 18:48, 5年前 , 8F
我通常是直接拉到最低電壓再找穩定運作的時脈跟參
04/05 18:48, 8F

04/05 18:48, 5年前 , 9F
數,如果需要一些效能的時候再把電壓拉回來一點
04/05 18:48, 9F

04/05 18:51, 5年前 , 10F
其實要談硬體參數的話有很多可以講,只是我這篇是
04/05 18:51, 10F

04/05 18:51, 5年前 , 11F
建立在大家不太用額外花錢就能調的範圍,所以需要
04/05 18:51, 11F

04/05 18:51, 5年前 , 12F
高階主板才能動的部分就都沒提了
04/05 18:51, 12F

04/05 18:53, 5年前 , 13F
比方說如果你的MB有支援調整cpu/dram的VRM switchin
04/05 18:53, 13F

04/05 18:54, 5年前 , 14F
g frequency,我很建議拉到最高,除非散熱因此會跟
04/05 18:54, 14F

04/05 18:54, 5年前 , 15F
不上
04/05 18:54, 15F
感謝,這個沒設到 這個設定還有 CPU Power Phase Control CPU Power Duty Control 設定Extreme 感覺對溫度沒什麼影響 大概降電壓把溫度與功耗直接降底

04/05 19:01, 5年前 , 16F
又或者你可以確認你的dram運作頻率跟cpu時脈是不是
04/05 19:01, 16F

04/05 19:01, 5年前 , 17F
簡單整數關係,比方說800:1600/2400/3200等,這可
04/05 19:01, 17F

04/05 19:01, 5年前 , 18F
以降低電路上的互調失真(intermodulation distortio
04/05 19:01, 18F

04/05 19:01, 5年前 , 19F
n),原因是cpu/dram是吃同一個參考時脈,兩邊運作在
04/05 19:01, 19F

04/05 19:01, 5年前 , 20F
非整數倍時會出現更多的互調干擾
04/05 19:01, 20F

04/05 19:03, 5年前 , 21F
當然更基本的是確定整個系統沒有用到除頻,基本參
04/05 19:03, 21F

04/05 19:03, 5年前 , 22F
考時脈都是100mhz(intel下)
04/05 19:03, 22F
整數倍,100MHz,100:100這些都有設 不然非整數倍不能整除 都有些微誤差

04/06 17:32, 5年前 , 23F
喔喔喔push
04/06 17:32, 23F
感謝推~ VRM Switching Frequency 這項滿有趣 有的MB最高只有350KHz 我的MB最高有500KHz 每個MB VRM Switch規格不盡相同 應該還有MB能調更高?

04/07 00:50, 5年前 , 24F
500K很高了,那是mosfet的切換頻率,不是一般的時
04/07 00:50, 24F

04/07 00:50, 5年前 , 25F
脈概念
04/07 00:50, 25F
調高交換頻率表現有好一些 想看看有沒有更高的規格 表現能否更好一些

04/07 08:05, 5年前 , 26F
多寫一點 比甚麼耳道文 耳機線文好多了
04/07 08:05, 26F
那就再多寫一點^^ 可以參考以前的優化文 雖然停留在Windows7比較多 不過很多底層架構是延續的 只是Windows10開始綁雲端 近期又出了一些新功能 從CAT優化的觀點看起來都一樣 用本地帳號登入,然後用不到的功能與服務關掉

04/08 16:50, 5年前 , 27F
可以考慮試試LTSB/LTSC版,一堆服務都不用關因為本
04/08 16:50, 27F

04/08 16:50, 5年前 , 28F
來就沒有了,現在我都直接改用LTSC版比較快
04/08 16:50, 28F
下一次就換用LTSC看看 LTSC聲底跟專業版有沒有不一樣? Windows10更新完有時感覺會有微妙的變化 還好有小程式可以把Update關了

04/08 19:09, 5年前 , 29F
我放的圖已經是ltsb版的服務了
04/08 19:09, 29F
我有比較一下服務項目 看起來殊途同歸 關到最後留下的就那些服務在執行 還好能優化的程度差不多

04/09 16:35, 5年前 , 30F
我是處理完就放著永遠不想動了
04/09 16:35, 30F
我也不想動 偶爾清理磁碟,SSD最佳化,檢視裝置管理員

04/09 18:30, 5年前 , 31F
我直接變成ramos了
04/09 18:30, 31F
讚! ※ 編輯: znew1219 (36.230.178.12), 04/09/2019 18:47:38
文章代碼(AID): #1Sfg8EGr (Headphone)
討論串 (同標題文章)
文章代碼(AID): #1Sfg8EGr (Headphone)