作者jk21234 ( 1569 11 /47)
站內PC_Shopping
標題Re: [情報] 17款09年遊戲匯聚 CPU多核支持大檢驗
時間Tue Dec 8 22:21:11 2009
※ 引述《gt1724 (天野神無伊歐斯)》之銘言:
: 處理器時提供有價值的參考。
: http://www.inpai.com.cn/doc/hard/112001.htm
: 明年也許就是四核基本需求了吧!? 不知OLG這方面如何
: 話說為何遊戲會發生只對三核做優化這種情況?
問題要這樣看,不是只對三核心作最佳化.
而是它的thread排出來的結果就只能這樣.
假定某個遊戲核心寫成multi-thread,有6個thread,其中最大的A佔了
40%,B,C,D,E,F分別是20%,10%......先不管每個thread中間的相依關係
(實際上會發生比如F thread必須要等C thread處理完的情況).
三核心
1 2 3
A| B| D|
| | E|
| C|
| F|
四核心
1 2 3 4
A| B| D| C|
| | E| F|
|
|
基本上是一樣快的.
實際上最基本的問題則是,DX 10以前是以Single Thread render為基礎.
對多cpu的增進,一小部分來自於OS/API中一些次要的I/O,
一部分是程式開發的時候,把一些工作移到另外一個thread作.
Main Main Assist
A| A| B|
B| D| C|
C| ===> F| E|
D| G|
E|
F|
G\
這樣1-->2的thread的重新撰寫相對之下比較簡單,
也容易得到不錯的效果.只要移走33%的工作量就等於提升1.5倍(1-33%的倒數),
移走40%的工作量是1.66倍,移走50%的工作量(最佳的情況)才是2倍.
但是即使只有少數可以移出,效能數字看起來也會漂亮多了.
可是如果是想在三核心,四核心上有加速效果.那麼必須嘗試
1--> 3 thread,1--> 4 thread的重寫,而且.....
a. 保留在各thread的計算時間要遠低於50%,33%.才能分別在三核心,四核
心上看到加速.
b. Thread分配每個Task的Critical Path計算,本身是NP-Hard問題.
而且每個Task的時間可能又因為硬體差別產生不等.載入檔案的因為
硬碟速度不同而不同.計算的因素cpu速度不同而時間長度不等....
實務上可能沒有甚麼直觀的解決方式,只能不斷的拿實機測量後再看怎麼排會最好
不過DX11增加了Multithreading rendering,所以對這個問題就不同以往,
可以預期以DX11開發的遊戲,會享受到對3/4核心以上cpu的效能增進.
而且這點並不需要安裝DX11顯示卡才可以得到.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.237.63
1F:推 three456:JK大未看先推 12/08 22:23
2F:推 ang728:專業 12/08 22:23
3F:推 HiJimmy:難怪我用tmpgenc轉檔 xeon跟p4差不多 只是xeon可做其他事 12/08 22:23
這部份有點誤解.我猜你指的是478 XEON,相當於P4 with HT ??
一般來說壓縮,解壓縮等都不會像遊戲這樣難處理.
會看到很接近核心數量的成長.
假定遊戲中處理一個frame分別要A,B,C,D,E,F,G七個動作.
那麼遊戲要在多核心上加速,就必須要讓A,B,C,D,E,F,G七個平均分配
在30個ms內完成.越快越好......
不過如果是壓縮的話,假設我壓縮h.264,每一個frame同樣要A,B,C,D,E,F,G幾個動作.
而我想要在4核心上有最好的結果......
那就定四個thread,四個分別處理一個frame,就會很容易得到加速效果.
(當然會因為一些競爭資源等無法達到線性的加速結果)
這是最簡單的做法,所以說這類的應用程式只有很古早的才不支援multi-thread.
4F:→ ang728:只能說是JK神了 12/08 22:24
5F:→ AXby:專業推 orz 12/08 22:25
6F:推 ChangWufei:<(_ _)> 拜一下 12/08 22:26
7F:→ PlayStation3:推神 12/08 22:26
8F:推 ascendant7:推 12/08 22:28
9F:推 eggy1008:強大 12/08 22:28
10F:推 wurenben:推 12/08 22:28
11F:推 three456:所以還是把XP丟掉吧XD 換裝WIN7 12/08 22:31
而且XP Pro在核心上由於小幅修改自Windows 2000 Pro,它是以雙cpu為基礎的
排程.因此XP Pro使用四核心cpu,即使是rar壓縮等.也會比Vista/Win7
的結果差.之前有看過實測....
※ 編輯: jk21234 來自: 140.114.78.62 (12/08 22:45)
12F:推 ryu2964:win7雖然說有優化,但是用xp還是覺得有比較快.. 12/08 22:37
13F:推 ajkre1:jk大未看先推阿~ 12/08 22:54
14F:推 HiJimmy:不是喔 我說的是604的xeon2.66/533跟478的p4 2.6/800 12/08 22:55
15F:→ HiJimmy:軟體就是最新 我再試試看 12/08 22:56
16F:→ jk21234:604/478有一樣的核心,只差HT支援有無... 12/08 22:58
17F:推 AXby:沒推到,補 12/08 22:59
18F:推 HiJimmy:所以差不多快是正常的? 12/08 23:00
19F:→ HiJimmy:其實我倆個都有看到ht功能 12/08 23:00
20F:→ kuninaka:只有WINRAR有差嗎 XD 12/08 23:05
印象中就是...XP/Vista下,雙核心對Winrar的加速都是1.9X倍
可是4核心的時候,XP只有單核心的2.5倍左右,Vista是單核心的3.5倍
21F:推 HiJimmy:硬碟在轉當時有差嗎? 一個是st 8gb的 一個是wd160gb 12/08 23:08
22F:→ HiJimmy:因為我在想轉檔寫入檔案速度因該不會很快 所以沒差 12/08 23:08
※ 編輯: jk21234 來自: 140.114.78.62 (12/08 23:43)
23F:推 wch6858:JK推! 12/08 23:43
24F:推 suzukihiro:不錯 12/08 23:56
25F:推 darkmoon:大推 圖解真容易懂 12/09 00:36
26F:推 VictorTom:jk大真的是太強了, 拜....<(_ _)> 12/09 00:53
27F:推 mp44stg44:大推! 12/09 00:55
28F:→ mp44stg44:應該收進 12/09 00:55
29F:推 VictorTom:只是看到XP對四核心效率沒那麼好, 換U的欲望又下降了. 12/09 01:02
30F:推 suzukihiro:換WIN 7吧 連硬碟一些基本傳輸都是有增無減的 12/09 01:05
31F:→ kuninaka:有人測過SERVER 2008 R2嗎 也是WIN7延伸的XD 12/09 02:14
32F:推 bettery:(筆記) 推! 12/09 07:12
33F:推 pkcqwe:專業文 不推不行! 12/09 08:05
34F:推 soulblue:推j大專業 12/09 08:59
35F:推 david13587:專業@@ 12/09 09:16
36F:推 pao0111:推推推! 12/09 10:35
37F:推 dreamroyc:專業 12/09 10:46
38F:推 jack089452:專業推 12/09 11:17
39F:推 gt1724:原來是排程問題 推! 12/09 12:35
40F:→ kuninaka:好像DX11對CPU多執行緒的效率又增進了 12/09 13:23
41F:→ lewisgb:水~~~推一個 12/09 15:33
42F:推 athlun:專業 推 12/09 20:15
43F:推 Sousake:好專業.... (看不懂苦思中 需要時間消化 囧> 12/09 23:49
44F:推 tentryway:.....太強大了 12/14 11:14