引用:
作者limit555
傳統高級別API下,一款遊戲或者一個3D繪圖應用在調用Draw Calls時(可理解為向GPU發出指令讓其在屏幕上繪出一個或多個指定圖形)通常會經歷以下過程:來自應用程序的指令先是被“翻譯”給DirectX,然後再被“翻譯”給顯卡驅動,再然後還要“翻譯”給系統內核接口,最後才“翻譯”給GPU去執行……整個過程冗長且低效,但好處是“顯卡驅動”可以有很大發揮空間——“AMD驅動不如英偉達,尤其是遊戲表現上”的說法就是來自於此了。
DX12出現後,所有中間層的“翻譯”工作就被取消了,遊戲開發商可以直接通過API與GPU進行溝通。這不僅只是效率高了,開發者自由發揮的空間也大了(任意分配GPU資源到需要的地方),然而缺點是使用難度也提高了
=================================
理論上應該快很多
可是連mantle出來的測試也才只快了那麼一點
|
大概瓶頸本來就不是那邊吧...
Mantle簡介
http://www.amd.com/zh-tw/innovation...s-gaming/mantle
Mantle 可協調三個基本要素:
AMD Catalyst™ 軟體套件中的驅動程式,讓應用程式直接與 Graphics Core Next 架構溝通;
支援 Graphics Core Next 架構的 GPU 或 APU;
運用 Mantle 優點而編寫的應用程式或遊戲。
Mantle 為開發人員提供直接與 GPU 溝通的方式,大幅減少轉譯的需要,進而減輕 CPU 的工作量。由於 CPU 的工作量減輕,程式設計人員可運用的系統效能就更多,提供更出色的遊戲系統,而不必擔心 CPU 遇到效能瓶頸。
AMD對DX12的說明
跟mantle不一樣,沒提到直接溝通,但提到多核心支援
http://www.amd.com/zh-tw/innovation...ogies/directx12
DirectX 12 的差異
DirectX 12 引領您的遊戲進入一個全新境界。DirectX 12 同時接觸您的多核心 CPU 的所有核心,提高傳送到顯示卡的工作量,但在更短的時間內完成工作。此外,DirectX 12 讓您的 GPU 可以同時執行多個工作,因此可以省下描影時間、減少延遲,而且每秒可以接收更多訊框。DirectX 12 的兩個革命性功能帶動了這些創新,這兩個功能分別是多執行緒指令緩衝記錄和非同步著色器。
在所有磁柱上執行
多指行緒指令緩衝記錄開啟了您的 AMD 處理器或 APU 和您的 AMD Radeon™ GPU 之間的通訊大道,因此同時有超過一個以上的 CPU 核心與 CPU 對話。
兩個技術著重點看起來不太一樣的說
那AMD說開發過Mantle的開發者轉開發DX12會比較容易是?