一:概述
Mantle的字面意思是地幔,它與地殼、地核一樣同屬於地球內部組成的三個同心球體之一。在AMD看來,圖形運算系統與地球的組成其實是相似的,位於表層的圖形應用程式就是地殼,裡層的地核就是GCN架構圖形核心,連線兩者的圖形運算API以及硬體驅動程式則是地幔。因此Mantle的存在就和它的字面意思相同,是為了讓圖形應用程式與GCN架構圖形核心形成軟體和硬體上的連線,使得應用程式可以充分發揮GCN架構圖形核心的性能 。
AMD把Mantle定義為“遊戲最佳化技術”,因此它的誕生顯然是劍指遊戲最佳化技術,最直接的對手就是微軟的Direct3D。只是Direct3D已經耕耘多年,要論成熟度,Mantle顯然不如Direct3D。那么AMD為什麼那么有自信,認為遊戲廠商會在使用Direct3D之餘,還會對Mantle提供支持呢?
實際上,Direct3D雖然有很強的兼容性,但是從整個生態圈來說,卻不如Mantle完整。正如地幔也分為上地幔和下地幔兩部分,AMD的Mantle實際上也是由兩部分組成的,其中“上地幔”是Mantle API,也就是屬於圖形運算API的級別;“下地幔”則是Mantle Driver,也就是我們常說的AMD Catalyst顯示卡驅動程式。微軟對Direct3D生態圈的控制只能深入到“上地幔”的級別,而“下地幔”和“地核”部分則需要依靠顯示卡廠商的配合,而且為了兼容更多的設備,Direct3D對新技術和新設備的支持並不能馬上到位,有可能讓新設備上的特性得不到完全的發揮,從而限制了整套圖形運算系統的運行效率。
AMD的Mantle則不同,由於組成“地幔”的Mantle API以及顯示卡驅動程式乃至“地核”的圖形核心都是由AMD一手包辦,開發“地殼”級圖形應用程式時AMD也有提供全程的支持,因此基於Mantle開發的應用程式可以完全發揮出圖形核心的全部性能。而且一旦AMD推出擁有新特性的圖形核心時,Mantle API和Mantle Driver可以第一時間提供支持,並且讓遊戲開發商用上新的圖形特性,這點比起更偏向於兼容性的Direct3D來說,確實是一個無可比擬的優勢。
此外AMD的Mantle在功能和特性上是完全兼容Direct3D的,因此遊戲開發商在使用Mantle開發遊戲時,不用擔心說Mantle版無法實現Direct3D版的某些特性,而且由於Mantle有很強的硬體針對性,可以比Direct3D更好地發揮出GCN架構圖形核心的性能,因此使用Mantle來開發遊戲,完全可以做到讓高端顯示卡才能流暢運行的Direct3D遊戲,如今只需要中端主流顯示卡就能有滿意的體驗。這也是為什麼AMD會把Mantle稱之為“遊戲最佳化技術”的原因。
二:Mantle API遊戲套用
現在已經有不少遊戲大作提供了Mantle技術的支持,已經發布的包括有《戰地4》、《龍騰世紀3:審判》、《植物大戰殭屍:花園戰爭》、《神偷4》、《狙擊精英3》、《文明:超越地球》等,還有不少遊戲是確定支持Mantle但尚未發布的,按照AMD的說法,他們已經和多家遊戲廠商達成合作,未來將會推出更多基於Mantle技術的遊戲作品。
測試平台以及相關設定說明
測試平台使用超頻至4.0GHz的Core i7-3770K(四核八執行緒)打造,搭配雙通道DDR3-2666記憶體(實際運行在1600MHz),總容量為8GB(4GB*2),參測顯示卡總計有8款,包括有GTX 780 Ti/780/760以及R9 290X/290/280X/280/270X等產品,其中只有GTX 760/GTX 780 Ti/R9 290X/R9 290四款顯示卡為公版產品,其餘均為非公版產品,相關的頻率參數已經在上表列出。
測試時NVIDIA顯示卡使用GeForce 344.75 WHQL驅動,AMD顯示卡則使用Catalyst 14.11.2 Beta驅動,作業系統為Windows 7 SP1 64位版本。參測軟體總計有五款,分別是《神偷4》、《戰地4》、《文明:超越地球》、《狙擊精英3》以及《Star Swarm》,其中前四款為已經發布的遊戲作品,《Star Swarm》則是Mantle API的首款測試用演示程式。
《戰地4》:Mantle畫質不輸,幀數更高;
基於寒霜3引擎打造的《戰地4》雖然是在今年2月份的更新中才正式加入了對Mantle API的支持,不過它可以說是首款支持Mantle API的遊戲大作,對於Mantle API的推廣有著不可磨滅的功勞。
Direct3D模式下的《戰地4》遊戲截圖
Mantle模式下的《戰地4》遊戲截圖
需要一提的是,《戰地4》Mantle版的發布並不是一帆風順。在支持Mantle API的更新補丁發布後,馬上就有媒體對兩個版本的《戰地4》進行了測試,但是結果並不算理想,雖然Mantle版《戰地4》的成績更高,但是畫質上卻有所欠缺,當時馬上就有人提出質疑稱Mantle是以犧牲畫質的方式來換取更高的幀數,幸好EA發布聲明稱,這個畫質問題並不是Mantle API引起的,而是他們在開發Mantle版本時出了一點小Bug引起的,他們在《戰地4》的後續更新中修正這個問題,相關的質疑才逐漸平息。
EA也確實有修正相關問題,後續的更新中Mantle版《戰地4》和Direct3D版《戰地4》基本上已經不存在明顯的畫質差異了,這點從我們的遊戲截圖中就可以看出,當然仔細看的話,Direct3D模式下的《戰地4》在抗鋸齒效果上會做得更好一些,但是在紋理、陰影、光照方面,兩個版本的表現是基本一致的。
《戰地4》已經是一款發布了有一段時間的遊戲,從我們對其現有最新版本的測試來看,在Direct3D模式中,NVIDIA顯示卡的表現會比同級別的AMD顯示卡更好一些,例如GTX 780 Ti/780顯示卡在平均幀數上會比R9 290X/290顯示卡領先5FPS左右。
不過AMD顯示卡還有Mantle模式可以使用,在Mantle模式下,AMD陣營顯示卡在《戰地4》中的表現都有一定的提升,基本上有5FPS左右的升幅,這樣AMD陣營顯示卡的表現與同級別NVIDIA陣營顯示卡的表現就基本一致了。
《Star Swarm》:Mantle測試程式
《Star Swarm Performance Demo》(以下簡稱《Star Swarm》)是一款採用Nitrous引擎打造的Benchmark程式,原生支持Mantle API以及Direct3D,分別測試兩種模式下的系統性能。其測試場景一共有五項,並提供有四種不同級別的畫質選擇,測試時為我們選用Follow場景以及最高級別的Extreme畫質。
Direct3D模式下《Star Swarm》截圖
Mantle模式下《Star Swarm》截圖
對比Mantle API和Direct3D下的Extreme畫質截圖在,可以看出兩者的畫面基本上是沒有區別的,畢竟Mantle的作用是在不影響畫質的前提下改善系統效率。
《Star Swarm》在推出之後一直有進行更新,不過作為Mantle API的“御用測試工具”,它的更新內容基本上都集中在Mantle模式上,Direct3D模式與Mantle模式之間的幀數差距越拉越大。在現有最新版本的測試中,同一款AMD顯示卡在Mantle模式的《Star Swarm》中的平均幀數可以比Direct3D模式下的領先15FPS,例如R9 290X就從50FPS的級別跳升至65FPS級別,提升幅度非常大。
不過從Direct3D的成績上來看,AMD陣營顯示卡的表現不是特別理想,不僅R9 290X/290的成績比GTX 780 Ti/780的落後10FPS,R9 280X/280的成績甚至不如對手的GTX 760,我們對此進行了重複驗證,結果仍然如此。我們只能說在《Star Swarm》中,AMD顯示卡並不適合Direct3D模式,有更高成績的Mantle模式才是正確選擇。
三:Mantle API的發展前景
以往的遊戲最佳化技術,大都是在驅動程式或者是遊戲畫質設定上下功夫,但是無論怎么調教,遊戲始終還是基於Direct3D圖形API,即便顯示卡本身可以實現某些特性,讓遊戲的運行速度更快,但受限於Direct3D,這些特性可能無法完全發揮,畢竟Direct3D要從兼容性方面考慮,無法做到深入硬體的針對性最佳化。
但是AMD的Mantle不同,誠然其目前僅支持GCN架構的顯示卡平台,在兼容性上不如Direct3D,不過其可以實現硬體的針對性最佳化,可以完全發揮出GCN架構的全部特性,提升圖形運算系統的整體效能,最大限度地發揮顯示卡的特性和性能,這點確實是Direct3D無法比擬的優勢,也是Mantle有信心可以和Direct3D對抗的資本。
從我們的測試成績可以看出,AMD的Mantle確實有最佳化遊戲表現的作用,其可以在保持Direct3D版畫質水平的同時,在一定程度上提升遊戲的幀數表現,讓遊戲運行更加流暢。對於使用GCN架構顯示卡的遊戲玩家來說,不用升級顯示卡、不改變遊戲畫質也能獲得更高的遊戲幀數,有什麼能比這個更具吸引力呢?
值得一提的是,Direct3D以及OpenGL的未來發展方向基本上都是向Mantle靠攏,同樣要走深入硬體進行最佳化的路線,只是要達到Mantle這樣的整體掌控卻仍然需要一段時間。而且有訊息稱,Direct3D 12也就是我們常說的DirectX 12最快也要到明年才會登場,相比現在的Mantle API可能會有一些新的功能,但關鍵部分還得依靠AMD提供的API,業內甚至還有“DirectX 12本質上就是Mantle”的說法,下一代的OpenGL也就是OpenGL Next也會融入Mantle的技術,因此AMD的Mantle不僅僅是一個圖形API或者是遊戲最佳化技術那么簡單,它的出現同時也推動了Direct3D和OpenGL的發展。