這個小編 這段有點在編故事的感覺,ACE本身就不是這樣的東西
引用:
傳統高級別API下,一款遊戲或者一個3D繪圖應用在調用Draw Calls時(可理解為向GPU發出指令讓其在屏幕上繪出一個或多個指定圖形)通常會經歷以下過程:來自應用程序的指令先是被“翻譯”給DirectX,然後再被“翻譯”給顯卡驅動,再然後還要“翻譯”給系統內核接口,最後才“翻譯”給GPU去執行……整個過程冗長且低效,但好處是“顯卡驅動”可以有很大發揮空間——“AMD驅動不如英偉達,尤其是遊戲表現上”的說法就是來自於此了。
DX12出現後,所有中間層的“翻譯”工作就被取消了,遊戲開發商可以直接通過API與GPU進行溝通。這不僅只是效率高了,開發者自由發揮的空間也大了(任意分配GPU資源到需要的地方),然而缺點是使用難度也提高了。
那麼,會不會出現遊戲開發者抵制DX12,或者遲遲不用DX12的現象?可能性極低。因為“低級API”一直是遊戲開發社區所呼籲的,當年DirectX的低效和復雜已被太多人詬病。遊戲主機曾經之所以風靡,部分原因就是因為開發環境的友好和高效成就了大量的經典。更何況,DX12正是一款衍生自遊戲主機平台的API接口。
技術部分談完了,英偉達第二代Maxwell是否算支持DX12的架構,恐怕每個人心中都有不同的答案。
|
關鍵原因是在於 intel 那位Andrew Lauritzen 提到的說法
> anyone asking the first question should also be asking questions about "how much execution unit idle time is there in workload X/Y/Z",
> "what is the granularity and overhead of preemption", etc. All of these things - most of all the workload - are relevant when determining how efficiently a given situation maps to a given architecture."
關鍵在於 granularity 和 overhead of preemption
為了效率高在架構上這兩個的最佳化方向一致 (就NV,intel 架構基本上是這樣)
就AMD不合群弄個反向的方式,再靠ACE把效能弄回來
效能上的好處嘛 不能算是明顯,因為NV,intel 那種方式其實也是高效率
只不過GCN這種方式還保留了可以讓GPU進行通用運算的能力
也就是不用走NV的老路(引進GPU通用運算到Desktop上,但是會導致繪圖效能差就拿掉了)