作為最流行的底層API,微軟DirectX被廣泛使用于Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和Microsoft XBOX ONE電子游戲開發(fā),并且只能支持這些平臺(tái)。由于Windows在操作系統(tǒng)上處于近乎壟斷的地位,所以DirectX也就順理成章地成為了廠商必須遵循的規(guī)范。從1995年DirectX 1.0發(fā)布到去年DirectX 12公布,已經(jīng)過(guò)去了整整20年,這20年間,在DirectX的支持下,游戲畫面發(fā)生了天翻地覆的變化,同時(shí)對(duì)顯卡行業(yè)也產(chǎn)生了重大的影響。隨著Windows10的發(fā)布,全新的DirectX 12(以下簡(jiǎn)稱DX12)將為我們帶來(lái)更大的變化,而這一次,影響的可能不僅僅是顯卡。
DirectX 12的新特性及硬件支持
DX12最重要的變化之一就是更像底層API,在這方面,DX12和AMD Mantle非常相似。在硬件抽象層上走得比以往更深入,能夠同時(shí)減輕CPU、GPU的過(guò)載(overload)。具體包括:應(yīng)用可追蹤GPU流水線、控制資源狀態(tài)轉(zhuǎn)換(比如從渲染目標(biāo)到紋理)、控制資源重命名,更少的API和驅(qū)動(dòng)跟蹤、可預(yù)判屬性等。
DX12另一個(gè)值得我們關(guān)注的變化就是其大幅提高了多線程效率,可以充分發(fā)揮多線程硬件的潛力。這個(gè)多線程指的不是顯卡,而是多核心處理器。雖然DX11已經(jīng)較好地支持了多線程,但由于運(yùn)行時(shí)、驅(qū)動(dòng)過(guò)載的影響,每個(gè)核心仍然浪費(fèi)大量的閑置時(shí)間,DX12則能將幾乎每個(gè)核心的所有潛力都挖掘出來(lái),而且可以做到隨著核心數(shù)量的增長(zhǎng),性能幾乎線性提升。
微軟舉的例子是3DMark。將其導(dǎo)入支持DX12之后,可以發(fā)現(xiàn)CPU利用率提高了50%,同時(shí)在各個(gè)核心之間的負(fù)載分配也更加均衡了。DX12模式的3DMark 11某環(huán)節(jié)測(cè)試時(shí)間可以比DX11縮短大約32%,其中顯卡花費(fèi)時(shí)間更是節(jié)省了整整一半。
另外從負(fù)載分配情況可以看出,DX11下有多個(gè)環(huán)節(jié)都只能由同一個(gè)核心執(zhí)行,大大降低了效率、浪費(fèi)了時(shí)間,DX12則能讓所有核心共同參與執(zhí)行,尤其是在驅(qū)動(dòng)環(huán)節(jié)。
簡(jiǎn)單地說(shuō),DX12雖然是圖形開發(fā)規(guī)范,但是有了它,應(yīng)用、游戲就能以超高的效率發(fā)揮多核心處理器的優(yōu)勢(shì),充分利用硬件資源。
另外,DX12還帶來(lái)了更底層的API和跨平臺(tái)移植效率。這一點(diǎn)同樣和AMD Mantle有著異曲同工之妙,只不過(guò)Mantle局限在AMD GCN架構(gòu)顯卡上,而DX12則是通用的。
在硬件支持上,NVIDIA的開普勒、費(fèi)米、麥克斯韋架構(gòu)全部都支持DX12,也就是GeForce 200系列以來(lái)的型號(hào)都可以,DX11的都行。AMD方面,所有GCN架構(gòu)的顯卡均支持DX12,也就是Radeon HD 7000、Radeon R200系列。Intel第四代Haswell開始可以支持DX12,但其實(shí)僅限最高端的兩個(gè)型號(hào):GT3 Iris 5100、GT3e Iris Pro 5200。值得注意的是,高通也正在優(yōu)化自家的驍龍?zhí)幚砥?,以全面支持DX12。需要注意的是,微軟在公布DX12的時(shí)候,曾告訴過(guò)大家DX12還有多項(xiàng)特性并未公布,所以現(xiàn)在宣布支持DX12的N卡和A卡,暫時(shí)還只能確定只支持部分DX12特效,到底能不能支持完整的DX12還很難說(shuō),不過(guò)從業(yè)界的一貫風(fēng)格來(lái)看,等Windows10正式推出后,大家估計(jì)還需要購(gòu)買新的顯卡才能體驗(yàn)到完整的DX12。
AMD處理器借DX12再度崛起?
雖然AMD的處理器架構(gòu)理念看上去很先進(jìn),在核心數(shù)量和多核性能上也表現(xiàn)不錯(cuò),但是不得不承認(rèn)在單核心性能上AMD和Intel還是有一些差距,以至于在整體表現(xiàn)上Intel的處理器看上去會(huì)更好一些。對(duì)于游戲玩家來(lái)說(shuō),雖然多核心的概念已經(jīng)出現(xiàn)了很多年,但是到目前為止,大部分游戲?qū)Χ嗪诵亩嗑€程的支持依舊很差,這也就是為什么有些時(shí)候會(huì)出現(xiàn)四核的AMD處理器在游戲中的表現(xiàn)還不如雙核的Intel處理器這樣匪夷所思的現(xiàn)象。這對(duì)AMD無(wú)疑是一個(gè)很大的打擊。
而DX12的出現(xiàn)或許能幫助AMD改善這一窘境。前面我們也提到,DX12和過(guò)去的版本相比,很大的一項(xiàng)改進(jìn)就是大幅提升了對(duì)處理器多核心多線程的利用率,可以徹底發(fā)揮多核處理器在游戲中的性能。微軟宣稱,DX12對(duì)多核心CPU的利用幾乎是完美線性增長(zhǎng)的,換句話說(shuō),也就是四核心的游戲性能能夠接近或達(dá)到單核心的四倍。如果真如微軟所說(shuō),那么AMD處理器的多核心多線程能力將在DX12中得到釋放,弱勢(shì)的表現(xiàn)或許將徹底改變,憑借不錯(cuò)的性價(jià)比,AMD多核處理器或許能再次成為玩家首選的游戲處理器,處理器市場(chǎng)的格局或許會(huì)發(fā)生不小的變化。而Intel將會(huì)如何面對(duì)這一改變,玩家們也只需坐等好戲。
TV游戲和PC游戲更加同質(zhì)?
熟悉TV游戲和游戲主機(jī)的玩家都會(huì)發(fā)現(xiàn),雖然TV游戲主機(jī)的配置看上去遠(yuǎn)落后于PC,但是游戲性能和畫面效果卻能超越配置更高的PC,相信大家還記得當(dāng)年《生化危機(jī)4》在TV游戲主機(jī)和在PC上表現(xiàn)出的巨大畫質(zhì)差異。這其中的原因和底層API有著莫大的關(guān)系。作為一款TV游戲主機(jī),其使用的定制版硬件和系統(tǒng)都是為了游戲服務(wù),作為一個(gè)封閉的系統(tǒng),TV游戲主機(jī)可以更加深入地利用底層API去挖掘硬件潛力,實(shí)現(xiàn)更高的硬件利用率和游戲性能。而PC主機(jī)則不一樣,PC主機(jī)要保持開放性和兼容性,去實(shí)現(xiàn)更多的應(yīng)用環(huán)境,所以硬件上無(wú)法做到和TV游戲主機(jī)那樣對(duì)游戲深入底層的優(yōu)化,所以在效率上顯然無(wú)法和TV游戲主機(jī)抗衡。
DX12的出現(xiàn)則可能會(huì)改變這一格局。DX12的一大特點(diǎn)就是提供了更加底層的API,開發(fā)人員可以借此更深入硬件底層。雖然DX12目前所表現(xiàn)出的效率還略低于Mantle,但是已經(jīng)展現(xiàn)出巨大的實(shí)力。而AMD已經(jīng)明確不再繼續(xù)開發(fā)Mantle,所以DX12就是未來(lái)最佳的底層API了。借助DX12,未來(lái)PC主機(jī)的游戲性能將進(jìn)一步提高,達(dá)到TV游戲主機(jī)的性能也并不是一句空話。
從另外一個(gè)方面來(lái)看,次世代游戲主機(jī)PS4和XBOX ONE都采用了AMD APU架構(gòu),雖然目前都有著不錯(cuò)的游戲畫質(zhì)和性能表現(xiàn),但是DX12的到來(lái),將讓高端游戲PC的游戲性能和畫質(zhì)超越TV游戲主機(jī)。而次世代游戲主機(jī)的更新?lián)Q代可能也會(huì)變得更快,甚至直接被PC所取代。再加上DX12帶來(lái)了更為方便的跨平臺(tái)移植,所以未來(lái)游戲大作的多平臺(tái)發(fā)售也會(huì)變得更加簡(jiǎn)單,TV游戲和PC游戲的界限或許更加模糊。
比驅(qū)動(dòng)更加給力的“興奮劑”?
對(duì)玩家來(lái)說(shuō),更新顯卡驅(qū)動(dòng)帶來(lái)的游戲性能提升是能實(shí)實(shí)在在感受到的,而DX12則能提供更加恐怖的性能提升。在公布DX12的時(shí)候,微軟曾宣稱,“DX12的效率將比DX11提升50%”。如果真如微軟說(shuō)的如此高效,那么我們簡(jiǎn)單地試想一下,一款游戲的DX11版如果只有20fps,那么DX12版將有30fps的表現(xiàn),這10fps的提升直接決定了游戲表現(xiàn)是卡頓還是接近流暢運(yùn)行。這對(duì)于擁有中低端顯卡的玩家來(lái)說(shuō),無(wú)疑是一個(gè)好消息。但是從另一個(gè)方面看,僅僅一個(gè)API的升級(jí)就帶來(lái)如此巨大的性能提升,恐怕硬件廠商并不買單,實(shí)現(xiàn)起來(lái)可能也沒有這么容易。