DirectX 12:遊戲史上重要的一步

作者 Danny Shapiro

Microsoft 今天在舊金山所舉辦的年度遊戲開發者大會 (Game Developers Conference: GDC) 上,宣布推出 DirectX 12。DX12 是 Microsoft 最新版的繪圖應用程式介面,在這個不斷成長且市場規模達 250 億美元的個人電腦遊戲產業中,這個介面是主流標準。

開發人員一直在要求更輕巧、更有效率的應用程式介面,讓他們能更直接地控制硬體資源。雖然現有應用程式介面的效能在不斷發展下迭有進展,然而下一世代的應用程式仍希望能從多核心系統中榨出更多可能的效能。開發人員也希望能夠直接利用先進的 GPU 硬體特點,讓他們能夠提供 – 就算是傻瓜也會用的簡單使用性。DirectX 12 的設計初衷,就是要針對這些先進的應用程式提供基礎架構。

Microsoft 的 DirectX 部門開發經理 Anuj Gosalia,向在場大約300 位開發人員及媒體從業人員發表演說,他說明 DX12 是由硬體供應商、遊戲開發商,以及他所領軍的團隊共同努力完成的。我們大約是在四年多前開始進行這項Microsoft 的 DirectX 12 開發工作,最初主要是討論如何減少系統資源開銷的問題。在過去的一年,NVIDIA 一直與 DirectX 團隊緊密合作,如此才能在遊戲開發者大會上提供可運作的 DX12 設計與操作。

在由NVIDIA GeForce Titan Black 所驅動的個人電腦上,Gosalia 執行了 Xbox One 的賽車遊戲 – 「極限競速 (Forza)」的技術示範,以展示這款全新的應用程式介面。除此之外,我們的軟體團隊也提供驅動程式給遊戲開發商,以促進設計回饋及推動實質的遊戲開發。

針對任何一種新應用程式介面的採用,關鍵因素都在於市場的大小。在過去,由於缺少主要遊戲機市場的支援,以及不具有Windows OS普及版本的特性,因此許多功能不被採用。隨著 DX12 的推出,應用程式介面出現前所未有的匯聚且擁有廣泛支援。DX12 將擴展至個人電腦、Xbox One、平板電腦,甚至是智慧型手機上。

此外,NVIDIA 將會符合 Microsoft OS 對 DX12 的支援。超過 70% 的遊戲專用個人電腦現在是以 DX11 為主。NVIDIA 將會針對所有已出貨的 DX11 類型 GPU 提供 DX12 應用程式介面的支援;這些類型是屬於 Fermi、Kepler 以及 Maxwell 架構的系列產品。由於在採用 DX11 的遊戲系統中擁有超過 50% 的市佔率(獨立式繪圖卡為 65%),因此 NVIDIA 將單獨提供支援給潛在用戶群中佔絕大多數的遊戲開發者。

從技術的發展趨勢中可以找到 DX12 的起源脈絡。GPU 在效能上已有持續且快速的增長,與此同時,單核心的 CPU 效能卻受限於功率而進展有限。多核心的 CPU 雖然已經提供一些改進,但是在尖峰效能上仍然落後於 GPU。在平行處理方面,應用程式已經接受了工作平行化並採用精密的排程系統,利用 CPU 的核心數量來擴增效能。這也反過來驅使應用程式介面必須擴大,以對應核心數量。GPU 的效能可以被利用於三個方面:畫出更好的像素、更多的像素及更多物件。我們的收穫已多於本來可以從像素上所獲得的。DX12 的重點在於透過大幅降低與 API 有關的 CPU 負荷,來顯著提升視覺豐富性。從歷史來看,驅動程式與作業系統軟體已代表開發者的角色來管理記憶體、狀態及同步化。然而,對於應用程式的瞭解不夠充分,導致了無效率的結果。DX12 讓應用程式有能力直接管理系統資源和狀態,以及執行必要的同步化。如此一來,先進應用程式的開發者可以利用對於遊戲行為的深入瞭解,進而高效率地控制 GPU。

今天的首次亮相聚焦於此一繪圖應用程式介面的形式,也就是它的模型。 未來的 Direct3D 版本除了今天新驅動程式 / 應用程式模型所呈現的重點之外,還會包括其他全新的渲染特性。在遊戲開發者大會上所呈現的,僅是即將發佈的完整版本的一部分。 NVIDIA 及 Microsoft 將持續投注龐大心力於PC 遊戲的未來。– 感謝Yury Uralsky  對此篇貼文的貢獻。