微軟的DirectX 12規範還未最終完成,不過經初步測試可知,這個更接近硬體核心層的新API帶來了更高的效率,多線程性能也有顯著的提升。除了性能上的提升以外,國外媒體Tom’s Hardware有一項驚人的獨家消息:DX12將會支持NVIDIA GeForce和AMD Radeon顯示卡多卡混搭,記憶體容量甚至可以堆疊相加使用。
根據TH站的介紹,這個技術稱為“顯式異步多GPU功能”(Explicit Asynchronous Multi-GPU capabilities),可以整合不同顯示卡的資源並將它們“放到同一隻碗”裡,然後讓遊戲開發者根據需要調配資源,讓不同的顯示卡負責不同的任務。
在這個工作模式下,DX12將採用“分割幀渲染”技術(Split Frame Rendering,SFR),實際上這也是多卡交火的一項老技術,AMD的Mantle API就支持SFR(譬如《文明:太空》 ),電影行業、圖像技術、3D建模也會用到,甚至追溯到90年代的遊戲引擎也曾經用過。
SFR技術就是將同一幀畫面按需分配渲染任務,而可用記憶體是多張顯示卡的總和,而此前不論是NVIDIA SLI常用的“交替幀渲染”技術(Alternate Frame Rendering,AFR),還是AMD CrossFire的“瓦片分離渲染模式”(Supertile Mode),各顯示卡的記憶體都不能堆疊相加使用,因為副卡的記憶體都用作幀緩衝區鏡像,放置和主卡記憶體一樣的數據。
除此之外,SFR面對AFR另一個優勢在於幀延遲更小,因為隊列深度只有1個,而AFR由於是根據奇偶幀分配任務,多GPU交替渲染,需要使用幀緩衝,就會產生大約4 -5幀的延遲。不過在效率方面,SFR就不如AFR了,由於在分配任務時需要大量GPU間通訊,因此可能要犧牲一下性能,微軟大概會對此繼續優化吧。
當然最受關注的當然是DX12支持不同顯示卡混搭,尤其是NVIDIA GeForce和AMD Radeon顯示卡也可以一起運作,好處就是你可以同時使用NVIDIA或者AMD的各種技術和軟體,而AMD的APU中的集顯也可以發揮一點作用了。其實幾年前以色列公司Lucid就推出過支持N/A卡混合交火的晶片和軟體,但效率不如人意,而且現在也已經沒了下文。
如果微軟有心推出這項功能當然是好事,不過接下來的問題是要如何打動開發者使用它,好在消息源指出他們將會很容易上手,開發不是難事,或許未來還能取代SLI或者CF交火技術?
DirectX12可讓AMD與NVIDIA混合交火?
https://www.facebook.com/diypc.hk