當前位置:編程學習大全網 - 編程語言 - A卡DX11和N卡DX11有什麽明顯區別!急求高手解答!

A卡DX11和N卡DX11有什麽明顯區別!急求高手解答!

顯卡采用的壹種新技術,可以渲染更好的色彩,讓畫面流暢,遊戲性能更好。幾何渲染單元支持各種圖元類型,例如點、線、三角形、具有相鄰點的線、具有相鄰點的三角形等。它壹次最多可以處理六個頂點。有了豐富的圖元類型支持,幾何渲染單元可以讓GPU提供更詳細的模型細節。DX10技術使得光影效果(包括HDR)和物理加速更好,尤其是DX10引入了英偉達的PhysX功能。這個功能可以讓顯卡的Gpu充分發揮物體的物理/幾何運動效果。DX11增加了計算著色器的代碼示例,這是微軟在今年的NVISION大會上透露的,我們可以通過SIGGRAPH和GameFest 2008大會上發布的幻燈片進行壹些深入的研究。此外,DX11特性的提前發布對於目前的DX10和DX10.1硬件用戶也是大有裨益的,因為AMD和NVIDIA可以據此提前開發合適的驅動支持。DirectX 11的許多特性似乎都在暗示,DirectX 11快速普及的時機已經成熟,尤其是在微軟的Windows 7發布之後,這種趨勢將勢不可擋。現在,HLSL(高級著色語言)已經完全成熟,這勢必會讓DX11在很多遊戲開發者眼中更有吸引力,越來越多的人開始意識到DX10實際上是DX11的子集,這對DirectX 65438+非常重要。此外,DX11可以讓並行編程變得更加容易,其獨有的特性也將促進開發者大膽快速地采用這種API。DirectX 11同時兼容Vista操作系統,用戶不必擔心無法升級,而Windows 7的內在魅力也會在很大程度上促使Windows XP用戶做出升級決定,也就是說,對於開發者來說,市場上會有足夠大的運行DX11的系統群體。微軟曾承諾DirectX 10能帶來革命性的視覺體驗和渲染技術,結果雖有不同,但可以肯定的是,DirectX 11最終可能會兌現這壹承諾。雖然我們現在還看不到DirectX 11的獨特功能所帶來的效果,但這種新API的普及將對刺激3D繪圖技術的不斷進步大有裨益。從DirectX 6到DirectX 9,微軟壹直在讓他們的編程API從固定的函數傳輸媒介和動態數據結構,進化到壹個豐滿的、可編程的、深度控制的繪圖硬件環境。從DX9到DX10的演進可以說是壹次升華:DX9的可編程性得到了進壹步的拓展和延伸,在新壹代硬件的作用下變得更加深刻和靈活。此外,微軟還通過各種手段提高了DX10的穩定性和靈活性。但是DirectX 11的演進過程卻截然不同。為了最大限度的提高可編程性,DX11寧願損失壹些原有的結構有效性。微軟將DirectX 11構建成DirectX 10/10.1的精確父集,無形中讓DirectX 11增添了不少精彩的潛力。特別是DX10代碼會變成DX11代碼可以選擇不執行壹些高級特性,反過來,DX11可以運行在同級別的所有硬件上。當然,對於DX10,並不是所有的DX11特性都可用,但這意味著開發者可以同時針對DX110和DX11硬件進行開發,而無需同時考慮這兩者。但是如果應用了DX11的壹些特效(比如tessellator或者compute shader)就需要區分代碼路徑,不過這完全是DX10過渡到DX1的好處。編輯DirectX 11新技術預覽1,Direct3D11渲染管道:Direct3D11管道看起來比DirectX 110更酷。DirectX 11的諸多改進意味著更高的特性性能,這在DX10中很少見。DirectX 11和DirectX 10最大的區別就是流水線。可以說,DirectX 11的渲染流水線標誌著繪制硬件和軟件功能邁出了革命性的壹步。DirectX 11增加了對鑲嵌的支持。鑲嵌由外殼著色器,鑲嵌器和域著色器組成。同時,添加了計算著色器。計算著色器不同於DX10中引入的GS,它不是渲染管道的壹部分。CS也是DirectX 11的重要改進之壹,可以很大程度上幫助開發者彌補現實和虛幻的區別。2、Tessellation鑲嵌技術:在此之前,關於DirectX 11的報道鋪天蓋地。其實從R600發布開始,DirectX 11這個詞就開始越來越多地出現在網絡上。雖然R6xx和R7xx硬件都有tessellator單元,但是由於tessellator屬於專有實現,R6xx和R7xx硬件並不直接兼容DirectX 11,更何況DirectX 11采用了極其復雜的設置過程。實際上,DX11 tessellator單元本身是不可編程的,DX11輸入tessellator (TS)或從tessellator(TS)輸出的過程是通過兩個傳統的流水線階段完成的:Hull Shader (HS)和Domain Shader (DS)。Tessellator可以將壹些較大圖元分割成許多較小的圖元,並將這些較小的圖元組合在壹起,形成壹個有序的幾何圖形,這個圖形更復雜,當然也更接近現實。這個過程也稱為細分曲面。比如tessellator可以通過處理讓壹個立方體看起來像壹個球體,這無疑節省了空間。此外,圖形的質量、性能和可控性也得到了壹定程度的提升。Hull Shader負責接收quad mash計算的壹類圖元數據(稱為面片),計算輸入圖元各邊的控制點和鑲嵌因子的各種變換,從而進行鑲嵌。其中,控制點用於定義所需圖形的圖形參數(如曲面或其他)。如果妳經常使用Photoshop繪圖軟件,不妨把控制點理解為PS的壹個鋼筆工具:用平面代替直線的貝塞爾曲線函數。Hull Shader使用控制點來決定如何排列tessellator來處理數據,Tessellator用於生成大量新的圖元,然後將這些圖元和控制點發送到Domain Shader,Domain Shader在3D處理中將這些數據轉換為頂點,最後GPU生成曲線和多邊形。3、多線程支持:DX11多線程處理因為DX11的新特性甚至可以應用到DX10硬件上,所以我們非常期待和看好DX11的快速應用。DX11特性還包括非常重要的壹點:支持多線程。是的,無論是DX10還是DX11,所有的顏色信息最終都會被光柵化並顯示在電腦顯示屏上(無論是線性的還是同步的),但DX11增加了對多線程技術的支持。得益於此,應用程序可以同步創建有用的資源或管理狀態。DX11的這種多線程技術,可能無法加速畫圖子系統(尤其是在我們的GPU資源有限的情況下),但可以提高線程啟動遊戲的效率,利用桌面CPU核數不斷增加帶來的潛力。對於場景中的人像和三面鏡子,DX11會啟動四個獨立的線程進行並行處理,自然比現在的順序處理效率高很多。8和16邏輯核的CPU系統離我們越來越近了。現在是遊戲開發者迅速行動的時候了。是時候解決壹些遊戲在雙核系統下運行緩慢的問題了。但開發壹款能在很大程度上推動雙核系統普及的遊戲,利潤和所需付出的努力目前仍不樂觀,因此這壹進程進展緩慢。對於大多數遊戲來說,要想充分利用四核以及四核之外多線程的優勢,還是非常困難的。盡管如此,通過多線程技術創建和顯示簡單的並行計算資源確實為具有並行計算代碼的遊戲提供了壹個受歡迎的機會,並行計算代碼也可以以單線程編碼的形式存在。由於DX11系統並不是用壹個線程來處理所有的DX狀態變化和繪制調用(或者大量的同步線程* * *負責某個任務),遊戲開發者自然可以創建壹個線程來處理某個場景中的某類或某組對象對象,為以後所有的對象對象或實體處理自己的線程打下基礎(如果邏輯核的數量最終達到幾百個,這個線程就會處理)。另外,DX10硬件在運行DX11遊戲時也可以支持多線程。微軟的這個計劃還是比較刺激的,但是值得壹提的是AMD和NVIDIA必須為各自的DX10硬件開發相應的驅動軟件才能達到這個效果(因為如果沒有相應的驅動支持,DX10硬件甚至可以。當然,我們希望英偉達,尤其是AMD(因為也是多核CPU廠商)對此感興趣。而且如果A/N這樣做,無疑會為遊戲開發者開發DX11遊戲提供動力,即使A/N DX11的硬件還處於起步階段。4、計算著色器:很多遊戲開發者都對DX11的新計算著色器(通常指CS)特性贊不絕口。CS的這個渲染管道可以執行更多的通用操作。我們不僅可以在壹些可以用來執行數據的操作中,也可以在壹些可以用來操作的數據中看到這種特性。在DirectX11和CS的幫助下,遊戲開發者可以使用更復雜的數據結構,並在這些數據結構中運行更通用的算法。與其他完整的可編程流水線級DX10和DX11壹樣,CS將* * *享有壹套素材資源(即著色處理器)。運行CS代碼時,相應的硬件需要更加靈活。這些CS代碼必須支持隨機讀寫、不規則數組(不是簡單的固定大小的流體或2D數組)、多輸出、根據程序員的需要直接調用單個或多線程應用、32k * * *共享寄存器空間和線程組管理系統、原子數據指令集、同步構造和執行無序IO操作的能力。同時,CS也會失去壹些特性。因為單個線程不再被視為壹個像素,線程將失去幾何設置的功能。這意味著雖然CS程序仍然可以使用紋理采樣功能,但是自動三線LOD過濾計算將失去自動功能(必須指定LOD)。另外,壹些不重要的常用數據如深度剔除、反走樣、alpha混合等操作在CS程序中是無法執行的。除了渲染壹些特殊的應用,遊戲開發者可能還想做壹些在GPU上執行的諸如IK(逆運動學)、物理、人工智能等傳統CPU任務的操作。用CS算法在GPU上執行這些數據,意味著這些數據的渲染速度會更快,有些算法在GPU上可能會執行得更快。如果壹些總是產生相同結果的算法可以同時出現在CPU和GPU上,那麽AI和physics等操作甚至可以同時運行在CPU和GPU上(這種操作實際上可以替代帶寬)。即使這些操作碼運行在同壹個硬件(CPU或GPU)上,PS和CS代碼的執行也是兩個完全不同的過程,主要取決於要執行的算法。有趣的是,暴露數據和柱狀數據經常用於HDR渲染。使用PS代碼來計算這些數據需要幾個通道和技術,以便提取所有像素,從而平均地集中或劃分這些數據。雖然* * *共享數據或多或少會減慢處理速度,但* * *共享數據比在多個通道中計算要快,而這可以使CS成為這些算法的理想處理階段。5、Shader Model 4.0(DirectX 10(以下簡稱“SM”)的Shader Model 4.0帶來了整數運算和位運算的功能,DirectX 10的SM 4.1為MSAA增加了直接采樣和控制。而DirectX 11中包含的SM 5.0采用了面向對象的概念,可以完全支持雙精度數據。隨著SM 5.0的發布,微軟也將把HLSL語言更新到最新版本,其中包括動態著色、動態分支和更多對象等內容。簡而言之,面向專業開發者的SM 5.0仍然是以降低編程難度和復雜度為目標。為了解決shader缺乏靈活性和彈性的問題,微軟在HLSL5.0中帶來了解決方案,HLSL5.0提出了shader子程序的概念,允許程序員針對個人需求,將各種小型、簡單或專門設計的Shader程序鏈接起來,然後根據實際需求動態調用。這樣既能提高硬件兼容性,又能減少“巨型著色器”對寄存器空間的占用,有效提升性能。6.改進的紋理壓縮:BC6紋理壓縮精細紋理對視覺效果的增益很明顯。目前3D遊戲傾向於使用更大更精細的紋理,但是過大的紋理嚴重占用內存和帶寬。由於目前的紋理壓縮仍然不支持HDR圖像,DirectX 11提出了更好的紋理壓縮算法——BC6和BC7。BC6是為HDR圖像設計的壓縮算法,壓縮比為6 ∶ 1。BC7是為低動態範圍紋理設計的壓縮模式,壓縮比為3∶1。兩種壓縮算法在高壓縮比下圖像質量損失較小,效果較好。這是HDR文件壓縮的示意圖。與原始圖像相比,BC6壓縮只損失了很小的圖像質量,但取得了很好的效果。紋理質量對畫面效果起著重要的作用。舉個例子,我們在運行壹個3D遊戲的時候,當觀察距離很遠的時候,畫面中同壹物體的紋理是銳利清晰的,但是當妳放大仔細看的時候,紋理卻非常粗糙。不用說,有些遊戲裏,還有放大鏡、望遠鏡之類的道具。啟用這些道具後,只能看到更粗糙、不真實的紋理。壹方面,紋理壓縮率損失嚴重,細膩紋理壓縮存儲後大量細節丟失;另壹方面,大紋理的遊戲運行速度和軟件量很難保證。如果遊戲大面積使用分辨率高達4000dpi的紋理貼圖,顯卡的計算資源和內存容量很快就會耗盡。所以DirectX 11最快最直觀的改變就是再次改進紋理壓縮算法,將紋理體積和紋理質量控制在壹個相當優秀的範圍內。
  • 上一篇:學習計算機入門
  • 下一篇:河南青雲java培訓怎麽樣?
  • copyright 2024編程學習大全網