警語:最佳化是雙面刃,可以讓人成仙,亦可成魔,請謹慎使用!
最佳化或WFO(兩者其實都適用本文章,以下直接簡稱最佳化)很花時間,要升級電腦才能縮短最佳化運算時間,升級過程大概可以分成以下幾個階段
- 電腦轉移很麻煩
- 升級程度選項
- 最佳化縮短率預估
- 要花多少錢(C/P值)、在哪裡DIY
- 燒機硬體驗收
- 單次縮短達成率驗收
- 批次縮短達成率驗收
電腦轉移很麻煩
舊電腦用的好好的,想到移轉就懶的升級,但其實可以不用移轉,依舊繼續用你習慣的舊電腦,要執行最佳化時才打開並用遠端桌面連線到新的電腦即可(可以想像成多了一台On-Demand伺服器在身邊),實體上就只是多了以下幾個東西而已
- 一台新的實體主機
- 一條電源線
- 一條Crossover網路線(比較大的電腦商場就有在賣,或者網路上也有在賣)
設定如下
- 把Crossover網路線的一端插進舊主機的網孔,在把另一端插進新主機的網孔
- 舊主機網路設定如下(舊主機如果沒有多餘的網孔,再買一個USB外接式網卡就好了)
- IP:10.0.0.99
- Gateway:255.255.255.0
- 新主機網路設定如下
- IP:10.0.0.1
- Gateway:255.255.255.0
- 新主機設定好遠端桌面,由舊主機連進來操作
- 每次要使用新電腦前,先同步MC資料,把舊電腦的此目錄完整複製到新電腦的同目錄
C:\ProgramData\TS Support\MultiCharts64 - 如果新主機有短暫上網需求(MC授權需要連網),可透過手機USB上網,或連WIFI
升級程度選項
其實真正能縮短最佳化時間的主要只有CPU,所以直接看CPU就好
- 請參考天梯圖選擇CPU,梯子越上端的CPU運算效能越高
- CPU的相關知識,請參考此篇『cpu的選購與推薦』
- 目前MC只支援到64個Thread(邏輯處理器核心),所以暫時不要選超過64個實體核心的CPU(CPU的執行緒超過64沒關係,到BIOS把Hyper-Threading關閉即可,如果主機板的BIOS能支援此功能的話),不過目前天梯圖暫時也沒看到有超過64實體核心的CPU,請參考此文『Threadripper 3990x brings more CPU threads than Windows Pro can handle』
註:理論上記憶體的存取速度也會影響運算速度,但實際上在MC最佳化時,沒什麼影響性,請參考此篇『記憶體頻率和雙通道對MC最佳化(或WFO)的影響』
最佳化縮短率預估
選好CPU後,再來就是預估最佳化的運算時間能縮短到時麼程度,請使用此網頁的CPU性能比較工具
把左邊的型號改成舊CPU型號,右邊改成新CPU型號,如下圖所示
再把畫面拉到下面的【Nice To Haves】,請記錄紅框這個值,如下圖所示以本圖為例(我這次的例子),此值為+334 %,那麼最佳化縮短率預估值為- 單次執行最佳化:實際縮短率>預估縮短率(通常略高)
- 批次執行最佳化:實際縮短率=預估縮短率(幾乎等於)
要花多少錢(C/P值)、在哪裡DIY
AutoBuy與原價屋都可以DIY電腦,實際上根本不用出門,網路選好菜單下訂單即可,組好會配送到你家
估價網頁
如果可以自己配的話,直接配好給他們就可以了,如果不熟悉怎麼搭配的話,可以在AutoBuy留言,指定好CPU,再跟他們說你是要跑模擬的,CPU跑起來會滿載(務必要請他們留意CPU散熱的問題),再讓他們幫你配好一份菜單,你再來微調,不過有幾點要注意
- 頂級的CPU一定要換一個好一點的空冷散熱器,原廠附的散熱器在最佳化時,很可能仍會讓CPU過熱,導致主機自動重啟
- 基於前一點的原因,機殼也要選散熱好的,前後有風扇或可裝風扇,也有足夠通風孔
- 最佳化會跑一段時間,很可能你人不會在現場,電源供應器也不能選太差,不然燒起來很可怕的,就算不燒起來,發出陣陣惡臭也足夠令人噁心的
- RAM最佳化時16G綽綽有餘(12年的一分K棒歷史資料也才200多MB而已),本文前面提到記憶體的存取速度對最佳化時間沒什麼影響,可以不用特別花錢買超頻記憶體或走雙通道,但如果超頻記憶體只貴一點點,也可以買(可超頻的記憶體,它的體質天生就會比較好;其實CPU也是,但要看預算與CP值),但不要在BIOS打開XMP(記憶體超頻),超頻會影響CPU的保固
- 最佳化用不到GPU,如果沒有額外需求,可以不用多花這筆錢
- 其他的東西都選中等的即可,太便宜也沒好貨
燒機硬體驗收
在AutoBuy能退貨的只有前七天,所以燒機測試這個階段,一定要先執行
等收到新主機後,如果不放心別人預載的作業系統(怕有病毒或什麼的),可以重新安裝作業系統,可以參考此篇『如何建立及使用USB隨身碟的安裝媒體重新安裝Windows 11/10』,沒有買作業系統,照樣也可以安裝,只是一直處於未啟用的狀態而已,灌好作業系統後,接下來就可進行燒機程序(主要是針對CPU/記憶體進行壓力測試),如果會過熱自動重啟,可以請AutoBuy派物流來收回去檢測(他們會出運費),燒機軟體可以使用以下幾款
使用方法可參考網路文章
註:我那份菜單,在室溫下只開窗戶通風,沒開冷氣,用Prime95燒機連續燒12小時,也沒自動重啟,能燒得過,只不過用CoreTemp查看歷史最高溫時,有好幾個核心(應該都是P-Core)過程中最高都曾高達100度(此CPU最高可耐溫100度),但其實只要燒機燒得過,MC跑最佳化一定跑得過(在室溫下只開窗戶通風,沒開冷氣,這台主機同時批次執行7個最佳化,用CoreTemp查看歷史最高溫也才85度)單次縮短達成率驗收
到這個階段,主機的硬體方面應該已經沒問題了,可以開始在舊主機與新主機進行第一輪最佳化測試比較,請用以下方法來測試
- 使用Exhaustive(暴力法),不要選基因,因為基因的過程是隨機的,沒有一致性,不適合量測比較
- 使用時間稍微長一點的最佳化模型,然後等它的進度跑超過5%後,擷取畫面(按下【Win + shift + S】按鍵),把已使用時間與剩餘時間加總起來
- 另外已使用時間會即時跳動更新,但剩餘時間則是一段時間才更新一次,所以如果最佳化所需時間比較短的話,容易受它影響(長一點才能稀釋它)
- 舊主機(i5-8400):306(分鐘)
- 新主機(i9-12900):80(分鐘)
- 最佳化縮短率預估值:23.04 %
- 最佳化縮短率實際值:1 / (306 / 80)=26.14 %
- 單次縮短達成率=23.04 / 26.14=88 %
前面有提到,在單次最佳化的情況下,縮短率的實際值通常容易略高於預估值,所以單次縮短達成率也通常容易略低,不過如果出現以下這兩種情況
- 單次縮短達成率過低
- 單次縮短達成率過高
這兩者都是不對的,所以要重新檢視新電腦與舊電腦,兩者任何一方都可能有問題,可以試著在這兩方執行以下動作
- 新增一個登錄機碼(此作法與在BIOS把Hyper Threading關閉效果相同)
電腦\HKEY_CURRENT_USER\SOFTWARE\TS Support\Power Language\StudyRunner\NumberOfThreadsOnOptimization (DWORD)
把此值設定為實體處理器核心數
注意:機碼路徑【TS Support】下面緊接【Power Language】,中間沒有隔著【MultiCharts64】 - 或在MC最佳化時的【Number of CPU cores to use】拉到實體處理器核心數,預設是會在邏輯處理器核心數(執行緒)
如果新增該登入機碼,則無需再手動調【Number of CPU cores to use】,兩者擇一嘗試即可
- 作業系統:Windows 11專業版(版本21H2)
- MultiCharts:64位元版 Version 14.0 Release (Build 21978)
- BIOS的Hyper-Threading狀態為開啟,且也無新增NumberOfThreadsOnOptimization機碼
- 新主機(i9-12900):134(分鐘)
- 最佳化縮短率實際值:1 / (306 / 134)=43.79 %
- 單次縮短達成率僅僅只有=23.04 / 43.79=52 %
批次縮短達成率驗收
在這個階段,請準備一個碼表(手機裡面就有了),用以下方法來測試
- 使用Exhaustive(暴力法),不要選基因,因為基因的過程是隨機的,沒有一致性,不適合量測比較
- 開始之前要把MC的優先權調低,方法請參考此文『最佳化與WFO電腦執行技巧』
- 如果作業系統為Windows 11,需要額外設定作業系統,請參考此文『Windows 11下執行批次MC最佳化(或WFO)必須額外設定』
- 這次要改採用時間稍微短一點的最佳化模型(把參數組合調少一點),同時間一次跑三個此模型的最佳化,先把三個MC都用滑鼠點到最佳化的最後一個畫面,然後暫時還不要開始執行
- 接著開啟工作管理員,等到CPU使用率靜止後,就可以快速的在三個MC畫面按下最後一個按鈕,開始批次執行最佳化,開始跑的時候,請按下碼表開始計時
- 再把工作管理員放到最上層,觀察這三個MC應用程式的CPU使用率,一直等到這三個MC全部的CPU使用率都低於N%或逼近0的時候(N = 100 / 邏輯處理器核心數),才按下碼表結束計時
- 舊主機(i5-8400):1951(秒)
- 新主機(i9-12900):447(秒)
- 最佳化縮短率預估值:23.04 %
- 最佳化縮短率實際值:1 / (1951 / 447)=22.91 %
- 批次縮短達成率=23.04 / 22.91=100 %
前面有提到,在批次最佳化的情況下,實際縮短率會幾乎等於預估縮短率,所以這樣是很OK的,不過如果你的主機在沒有CPU超頻的情況下,批次縮短達成率往上或往下偏離超過5%,那很可能就有問題了,不過這次就不用考慮Hyper-Threading的因素了,因為Hyper-Threading無論是開啟或關閉都不會影響批次縮短達成率(Hyper-Threading只會影響單次最佳化)
最後重點整理
相關文章
- Windows 11下執行批次MC最佳化(或WFO)必須額外設定
- 記憶體頻率和雙通道對MC最佳化(或WFO)的影響
- MC14重新載入後最佳化GA參數指定無效的解法
- 最佳化與WFO電腦執行技巧
- 最佳化的迷思
- 最佳化的另一種用法(Overfitting簡易偵測)
沒有留言:
張貼留言
(僅顯示與本文切題的留言)
注意:只有此網誌的成員可以留言。