PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   顯示卡討論區 (https://www.pcdvd.com.tw/forumdisplay.php?f=8)
-   -   DirectX 12效能秘密:多核CPU輔助GPU (https://www.pcdvd.com.tw/showthread.php?t=1073838)

湯耀忠 2015-03-29 11:27 PM

說實在的
就算290X在DX12真的大贏980好了
但DX12遊戲什麼時候能普及
有一票廠商採用?

walkingdog 2015-03-29 11:38 PM

引用:
作者copernicus
終於看懂了.

DX12 可以讓多核心CPU有更平均的發揮, 就這樣, 沒
每個CPU 核心的效率就在那邊
我們可以把他簡化成這樣:
多核CPU效能 = 單核效能 x k, (1<k<核心數)
簡單的說, AMD目前每個核心比較弱, 所以如果能夠更好的利用每個核心
那AMD的CPU在遊戲效能上就可以獲得更大的提升, 讓k更接近核心數
這個表格就只能解讀到這裡

後面slide寫的1000/29=34FPS, 1000/15=66FPS那根本就是胡說八道!

因為真正的問題在於 DX12 這個API到底如何去協調GPU和CPU
這個Chart完全沒有出現GPU的工作流程, 也就是說
這個Chart把GPU當成是一個超效GPU, 所有的Texturing, Rendering, Shading的動作都是瞬時完成, 永遠不會有bottleneck, 所以才能出現這種情況

但是回到現實世界, 卻遠不是如此, 尤其在高畫質高解析度的世界
Shading, Rendering, Texturing 的時間遠比CPU的loading多的多

必須加上後面...


+1,有說到重點~~
小弟剛才看了一些有關Draw Calls的文章,節錄一些有趣的地方給大家參考~~


DX12 Is Able to Handle 600K Draw Calls, 600% Performance Increase Achieved on AMD GPUs
http://www.dsogaming.com/news/dx12-...ed-on-amd-gpus/

DX12能處理600K左右的Draw Calls,DX9約6K,DX11沒有確切資料,有部
份是說10K左右,因此"理論上"來說,DX12在Draw Calls效率上是DX11的60
倍上下。FUTUREMARK那個測試軟體最主要就是測試Draw Calls效率,因此
在數據圖表上有很大明顯的差距。這個網頁引用Anandtech的benchmarks,但是
有誤用的情況,而且下了一個離譜的標題。DX12利用多核CPU放寬Draw Calls的
限制,但是影響最後FPS產值仍舊有諸多瓶頸存在。


The DirectX 12 Performance Preview: AMD, NVIDIA, & Star Swarm
http://www.anandtech.com/show/8962/...ia-star-swarm/3

上面這個就是Anandech-Star Swarm的測試,建議把全文看完,圖表當輔助。AMD
的卡因為Draw Calls的解禁在DX12的FPS衝了好幾倍,NV也獲得可觀的成長。
Star Swarm是測試DX11和DX12效能差異最好的遊戲或DEMO之一,因為它
的"初始瓶頸"確實卡在Draw Calls上,但Draw Calls的問題解決後,瓶頸遷移現
象又會導入其他限制因子,並非所有的遊戲執行不順暢源於Draw Call限制,並
非所有遊戲的"初始瓶頸"之因子為Draw Calls之不足。在瓶頸遷移影響下,各因
子成為"絕對影響因子"有其時間百分比,並動態交替,依程式設計優劣、硬體優
劣、玩家畫質調整而牽動。


What is a reasonable number of draw calls relative to one hardware configuration ?
http://answers.unity3d.com/question...s-relative.html

因為是2010的文章,小弟覺得以下可參考
To determine if you are fill rate limited or draw call limited is simple. Run an
FPS (Frames Per Second) monitoring program in the background like FRAPS to monitor your performance, and play through a sample of game at your highest available resolution, then again at a much lower resolution. If you game performance changes dramatically, then your game performance is fill rate limited, and you should look at the shaders you are using for better performance, along with the GPU. If the performance change is minimal, you are draw call limited, and should look at reducing the number of draw calls through batching or lower the number of objects visible at any one time.

有人說Assassin's Creed Unity執行效率不佳,是因為Draw Calls不足,當Draw Calls
不足時,畫質調高調低影響不大,因為瓶頸不是在GPU這邊。Anandtech的測試
或許可看出端倪,到底是Draw Call的問題還是Ubi的問題,但無法絕對判斷。
http://www.anandtech.com/show/8738/...s-creed-unity/2




常看Benchmark的人應該知道目前的3D大作遊戲,泰半在1080P高畫質的設定
下,CPU影響不大,除非是即時策略或戰略型的遊戲,因為瓶頸都跑到GPU去
了,更不用提爾後的4K。有些遊戲在SLI或CF後效能更是直衝近兩倍,代表
GPU比CPU更容易形成瓶頸。要讓CPU成為瓶頸也很簡單,把畫質解析度調
到最低,CPU就稍有機會成為瓶頸,但是應該沒人會用中高階電腦幹這種事吧。
如果DX12能讓閒置的多核CPU去做GPU才能做的事,而且不是幫倒忙,那
DX12就有膜拜的價值,如果只是利用多核CPU的效能放寬Draw Calls限制,
也樂觀其成,畢竟這樣才不會綁手綁腳,但個人猜想DX12應該不是只有放寬
限制那麼單純吧...

commando001 2015-03-29 11:39 PM

引用:
作者湯耀忠
說實在的
就算290X在DX12真的大贏980好了
但DX12遊戲什麼時候能普及
有一票廠商採用?

看主要那幾個遊戲引擎商吧

遊戲引擎上了DX12那做出來的就是DX12的遊戲了

畢竟DX12跟DX9 10 11不同,是面相內部(程式設計師)的

DX11普及也算快了,win7發布隔年支援DX11的大作就不少出籠了

不過純DX11遊戲又跟x64系統掛勾了起來,到這兩年才出現

Godzilla2014 2015-03-29 11:51 PM

引用:
作者湯耀忠
說實在的
就算290X在DX12真的大贏980好了
但DX12遊戲什麼時候能普及
有一票廠商採用?

DX12其實沒有增加特效,主要是改進架構和優化效能
看Mantle的例子,AMD一下子就湊了好幾款大作,我相信DX12要普及的速度應該比過往快很多

Move 2015-03-30 01:02 AM

引用:
作者Stone Crab
每次都這樣啊... :laugh:
之前也是把工程戰隊CPU的問題都推給Windows支援度不佳.
:laugh:


實際沒說錯
d12多核支持援度佳後
你沒看到最高使用到6核心

Move 2015-03-30 01:08 AM

引用:
作者湯耀忠
說實在的
就算290X在DX12真的大贏980好了
但DX12遊戲什麼時候能普及
有一票廠商採用?


問題不大
因過渡期間還有Mantle(偽D12)可用

copernicus 2015-03-30 02:48 AM

引用:
作者Move
問題不大
因過渡期間還有Mantle(偽D12)可用


雖然問題不大, 可是問題也很大
講白一點, DX12的最大優勢就是

在設計遊戲時, 可以比較不管 Batch 的數量

問題在於, 長久以來, 尤其是GPU的總運算效能遠超過CPU後, 遊戲設計者就有一條rule 101

每個batch盡量放進越多的物件越好!
100000物件/batch is always (much)x100 better than 1物件/batch x100000

那大家想想遊戲內的情況, 最常見的情況是你操縱
1(FPS,FTG,ACT,RPG)~200(SIM, SLG)個擁有10000~1000000多邊形的角色
幾乎沒有遊戲要你操縱500000個獨立物件, 然後每個物件只有幾百個polygons.

說幾乎是因為有遊戲可以變這樣
可以回想一下SC2, 如果自己搞出無單位上限地圖
那無論你是哪種GPU, 當8ppl總單位超過8000(在i7 2600)下後,都會變幻燈片
因為這時讓Draw call過多, 多到變成 CPU limitation.
不過很明顯的, 這種模式只是惡搞用, 不會有任何公司弄出這種東西

那今天在不需要個別控制物件的情況下, 我為啥要為了DX12把本來幾萬個Draw call就搞得定的畫面, 拆成幾百萬個Draw call?
這會讓你的遊戲
1. 難以設計
2. 無法相容於DX12以下所有模式
3. 對於CPU核心不足的平台造成致命影響

當然, 如果對於物件的精細度要作更多要求, 那解放Draw call的限制是好事
只是這些東西, 又和物理引擎以及遊戲設計甚至人的智慧背道而馳

這又回到遊戲設計面, 有需要捨棄物理引擎, 只為了(可能分辨不出來)更逼真的爆炸效果
讓CPU浪費一大堆時間用幾十萬個draw call處理幾萬個爆炸顆粒?

有需要讓人物的頭髮(可能分辨不出來的)更自然, 而讓CPU去draw call*每一根*頭髮?
這些方法都是早就因為過於土法煉鋼而沒人使用, 不單純只是因為Draw call的問題

只能說, 解放Draw call的DX11以前對多核CPU排程無效率是件好事, 但他只是一小部分

Stone Crab 2015-03-30 08:29 AM

引用:
作者Move
問題不大
因過渡期間還有Mantle(偽D12)可用


Mantle遊戲清單

Battlefield 4 (EA)
Battlefield Hardline (EA)
Thief
Star Citizen
Plants vs. Zombies: Garden Warfare (EA)
Civilization: Beyond Earth (EA)
Dragon Age: Inquisition (EA)
Mirror's Edge 2 (EA)
Sniper Elite 3
Star Wars: Battlefront (EA)
Star Swarm

一大半都是EA遊戲,應該是因為引擎贊助費吧... :laugh:
其中兩個的畫面表現有沒有Mantle恐怕完全沒差. :rolleyes:

yashro 2015-03-30 10:29 AM

引用:
作者copernicus
雖然問題不大, 可是問題也很大
講白一點, DX12的最大優勢就是

在設計遊戲時, 可以比較不管 Batch 的數量

問題在於, 長久以來, 尤其是GPU的總運算效能遠超過CPU後, 遊戲設計者就有一條rule 101

每個batch盡量放進越多的物件越好!
100000物件/batch is always (much)x100 better than 1物件/batch x100000

那大家想想遊戲內的情況, 最常見的情況是你操縱
1(FPS,FTG,ACT,RPG)~200(SIM, SLG)個擁有10000~1000000多邊形的角色
幾乎沒有遊戲要你操縱500000個獨立物件, 然後每個物件只有幾百個polygons.

說幾乎是因為有遊戲可以變這樣
可以回想一下SC2, 如果自己搞出無單位上限地圖
那無論你是哪種GPU, 當8ppl總單位超過8000(在i7 2600)下後,都會變幻燈片
因為這時讓Draw call過多, 多到變成 CPU limitation.
不過很明顯的, 這種模式只是惡搞用, 不會有任何公司弄出這種東西

那今天在不需...


聽這位大大講解後,有比較了解DX12了
但這樣好像對畫面的精進幫助不大,瓶頸還是卡在顯卡自身的效能身上。
這樣對沙盒式遊戲的幫助感覺比較大,能互動的物件可以多很多,充分
發揮cpu的效能。
對線上遊戲那種需要大會戰的應該幫助也會比較大吧,如果有充分支援
dx12的話。

Move 2015-03-30 11:50 AM

引用:
作者Stone Crab
Mantle遊戲清單

Battlefield 4 (EA)
Battlefield Hardline (EA)
Thief
Star Citizen
Plants vs. Zombies: Garden Warfare (EA)
Civilization: Beyond Earth (EA)
Dragon Age: Inquisition (EA)
Mirror's Edge 2 (EA)
Sniper Elite 3
Star Wars: Battlefront (EA)
Star Swarm

一大半都是EA遊戲,應該是因為引擎贊助費吧... :laugh:
其中兩個的畫面表現有沒有Mantle恐怕完全沒差. :rolleyes:


那是因Mantle的效果本就是發揮實力
有那可從一般兵變成特種部隊的實力 xd

而你上面列的一堆遊戲都很多人玩
反而現在PhysX只剩1系列遊戲
別的大家都沒興趣了 xd


所有的時間均為GMT +8。 現在的時間是01:01 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。