DirectX – NVIDIA 技術博客
http://www.open-lab.net/zh-cn/blog
閱讀開發者創建的最新技術信息、頭條新聞 和內容。
Thu, 21 Mar 2024 07:24:13 +0000
zh-CN
hourly
1
196178272 -
強大的著色器見解:通過 NVIDIA Nsight Graphics 使用著色器調試信息
http://www.open-lab.net/zh-cn/blog/harness-powerful-shader-insights-using-shader-debug-info-with-nvidia-nsight-graphics/
Thu, 14 Mar 2024 07:19:35 +0000
http://www.open-lab.net/zh-cn/blog/?p=9413
Continued]]>
隨著光線追蹤成為現代游戲引擎中的主要渲染技術,單個 GPU RayGen 著色器現在可以執行幀的大部分光線模擬。為了管理這種復雜程度,有必要在 HLSL 或 GLSL 源代碼級別觀察著色器性能的分解。因此,著色器分析器現在是優化光線追蹤的必備工具。 在本文中,我將向您展示如何使用 NVIDIA Nsight Graphics 的 GPU Trace Profiler 來分析低級別的著色器性能,以及如何啟用 DirectX 編譯器 (DXC) 的調試信息選項 。在整個博文中,我將使用以下縮寫: Path Tracing SDK 示例使用嵌入式著色器調試信息編譯所有著色器 () 作為 DXC 命令行選項,CMake 文件 中進行了配置。如果不需要 選項,可以從 Visual Studio 解決方案中刪除它并進行重建。 我還使用默認設置 (啟用了 Real-Time…
Source
]]>
9413
-
Direct3D 12 中的工作圖:延遲著色案例研究
http://www.open-lab.net/zh-cn/blog/work-graphs-in-direct3d-12-a-case-study-of-deferred-shading/
Mon, 11 Mar 2024 06:45:26 +0000
http://www.open-lab.net/zh-cn/blog/?p=9206
Continued]]>
在游戲應用程序性能方面,GPU 驅動的渲染能夠提升處理大型虛擬場景的可擴展性。Direct3D 12 (D3D12) 采用工作圖形(work graph)編程范式,允許 GPU 在運行時生成自己的工作。有關工作圖形的介紹,請參閱 在 Direct3D 12 中使用工作圖推進 GPU 驅動的渲染。 本文介紹了一個 Direct3D 12 工作圖形案例研究。我將介紹通過工作圖形的高效著色器代碼選擇和執行,常見延遲著色渲染算法如何從中受益。然后,我將從此案例研究中探索工作圖形的更高級主題、學習內容和建議。 相較于Direct3D 12 (D3D12) API 中的工作圖形具有在微觀級別動態選擇和啟動著色器的獨特功能。例如,考慮將屏幕劃分為小塊。對于每個小塊,必須執行某種操作,具體取決于該小塊的內容。假設每個小塊有 10 種可能性。您可以使用三種不同的方法來完成此操作:
Source
]]>
9206
-
在 Direct3D 12 中使用工作圖推進 GPU 驅動的渲染
http://www.open-lab.net/zh-cn/blog/advancing-gpu-driven-rendering-with-work-graphs-in-direct3d-12/
Mon, 11 Mar 2024 06:38:59 +0000
http://www.open-lab.net/zh-cn/blog/?p=9201
Continued]]>
GPU 驅動的渲染一直是許多游戲應用程序的主要目標。它能夠提高處理大型虛擬場景的可擴展性,并減少 CPU 對游戲性能的瓶頸。 除了在 GPU 上運行游戲邏輯之外,我認為 GPU 驅動渲染的巔峰時刻就是 CPU 只發送新幀的攝像頭信息,而 GPU 則負責其余工作,直到屏幕上顯示的最終像素。 NVIDIA Omniverse 平臺已經對 Direct3D 12 (D3D12) API 進行了改進,包括支持 、不受限制的資源數組 和 。這些功能增強了平臺的性能和靈活性,為開發者提供了更多的創作空間。 工作圖形是我很期待討論的另一個功能。工作圖形提供了一種編程范式,允許 GPU 隨時生成自己的工作。這為解決一些知名游戲引擎問題提供了解決方案,并開辟了新的創意思路。 本文介紹了工作圖的高級概念:結構、啟動模式和數據流。我將介紹如何使用 HLSL 編寫工作圖,
Source
]]>
9201
-
驅動程序級別的光線追蹤驗證
http://www.open-lab.net/zh-cn/blog/ray-tracing-validation-at-the-driver-level/
Mon, 26 Feb 2024 06:48:46 +0000
http://www.open-lab.net/zh-cn/blog/?p=9044
Continued]]>
對于使用 Microsoft DirectX 光線追蹤應用程序的開發者而言,光線追蹤驗證可幫助您提高性能、發現難以調試的問題和崩潰的根本原因。 與現有調試解決方案不同,光線追蹤驗證會在驅動程序級別執行檢查,從而識別 D3D12 調試層等工具無法發現的潛在問題。警告和錯誤通過回調直接從驅動程序發送到應用程序,并通過現有的應用程序端調試或日志記錄系統進行處理。 強烈建議您在任何功能開發和功能測試期間盡可能啟用光線追蹤驗證。 光線追蹤驗證需要 NVIDIA 驅動 551.61 及更高版本,以及 NVIDIA API(NvAPI)。 介于 545.00 和 551.61 之間的驅動程序版本也支持光線追蹤驗證。但是,在這些早期版本中,驗證速度可能會非常緩慢,令人望而卻步。我們建議升級到驅動程序 551.61 或更高版本。 要啟用光線追蹤驗證,請將環境變量。 接下來,
Source
]]>
9044
-
高級 API 性能:交換鏈
http://www.open-lab.net/zh-cn/blog/advanced-api-performance-swap-chains/
Fri, 15 Dec 2023 05:37:17 +0000
http://www.open-lab.net/zh-cn/blog/?p=8585
Continued]]>
交換鏈是如何將渲染數據輸出到屏幕的不可或缺的一部分。它們通常由一組輸出就緒型緩沖區組成,每個緩沖區都可以旋轉渲染為一個緩沖區。在渲染到交換鏈的某個緩沖區的同時,交換鏈中的其他緩沖區通常被讀取以進行顯示輸出。 本文介紹了在 NVIDIA GPU 上使用交換鏈時的最佳實踐。要在您的應用中獲得穩定的高幀率,請參閱我們的高級 API 性能提示。 在尋求提高渲染性能時,通常會專注于渲染管線中更頻繁優化的部分。但是,交換鏈通常會被忽略,從而將潛在性能和延遲放在桌面上。 以下建議和注意事項可讓您更深入地了解確保最佳交換鏈性能的最佳方法。 感謝 Cody Robson、Kumaresan Gnanasekaran、Adrian Muntianu 和 Meenal Nachnani 提供的建議和幫助。 …
Source
]]>
8585
-
工作站端到端 AI :優化簡介
http://www.open-lab.net/zh-cn/blog/end-to-end-ai-for-workstation-an-introduction-to-optimization/
Thu, 15 Dec 2022 06:51:00 +0000
http://www.open-lab.net/zh-cn/blog/?p=5894
Continued]]>
這篇文章是優化工作站端到端人工智能系列文章的第一篇。有關更多信息,請參見第 2 部分, 工作站端到端 AI : 使用 ONNX 轉換 AI 模型 和第 3 部分, 工作站端到端 AI : ONNX 運行時和優化 . GPU 的偉大之處在于它提供了巨大的并行性;它允許您同時執行許多任務。在最精細的層面上,這歸結為有數千個微小的處理內核同時運行同一條指令。但這并不是這種并行性停止的地方。還有其他方法可以利用經常被忽視的并行性,特別是在人工智能方面。 當你考慮人工智能功能的性能時,你到底是什么意思?您是否只是在考慮模型本身運行所需的時間,還是在考慮加載數據、預處理數據、傳輸數據以及寫回磁盤或顯示所需時間? 這個問題可能最好由體驗該功能的用戶來回答。通常會發現,實際的模型執行時間只是整個體驗的一小部分。 這篇文章是本系列文章的第一篇,它將引導您了解幾個特定于 API 的用例,包括:
Source
]]>
5894
-
使用 GDeflate for DirectStorage 加速 DirectX 游戲和應用程序的加載時間
http://www.open-lab.net/zh-cn/blog/accelerating-load-times-for-directx-games-and-apps-with-gdeflate-for-directstorage/
Mon, 07 Nov 2022 03:00:00 +0000
http://www.open-lab.net/zh-cn/blog/?p=5645
Continued]]>
加載時長。它們是任何試圖構建無縫體驗的開發人員的禍根。在游戲中試圖通過迫使玩家在狹窄的通道中搖擺或乘坐極慢的電梯來隱藏負載,會破壞沉浸感。 現在,開發人員有了更好的解決方案。 NVIDIA 與 Microsoft 和 IHV 合作伙伴合作,為 DirectStorage 1.1 開發了 GDeflate ,這是 GPU 壓縮的開放標準。當前的 Game Ready Driver (版本 526.47 )包含 NVIDIA RTX IO 技術,包括對 GDeflate 的優化。 GDeflate 是一種高性能、可擴展、 GPU 優化的數據壓縮方案,可以幫助應用程序利用現代 NVMe 設備上的大量數據吞吐量。它通過消除整個 I / O 管道中的 CPU 瓶頸,使此類設備的流解壓縮變得切實可行。 GDeflate 還提供帶寬放大效果,進一步提高 I / O 子系統的有效吞吐量。
Source
]]>
5645
-
使用 DirectX 12 在分布式系統上的應用程序之間同步當前調用
http://www.open-lab.net/zh-cn/blog/synchronizing-present-calls-between-applications-on-distributed-systems-with-directx-12/
Tue, 26 Jul 2022 06:03:00 +0000
http://www.open-lab.net/zh-cn/blog/?p=4692
Continued]]>
交換組和交換屏障是分別在同一系統和分布式系統上的不同窗口之間同步緩沖區交換的眾所周知的方法。最初是為 OpenGL 引入的,后來通過公共 NvAPI 接口進行擴展,并在 DirectX 9 到 12 中得到支持。 NVIDIA 現在引入了當前障礙的概念。它們結合了交換組和交換障礙,并提供了一種在系統內和系統之間設置同步當前調用的簡單方法。 當應用程序請求加入當前障礙時,驅動程序會根據當前系統配置嘗試設置交換組或交換組與交換障礙的組合。這些函數再次通過公共 NvAPI 接口提供。 目前的障礙只有在應用程序處于全屏狀態,沒有窗口邊框,也沒有桌面縮放或任務欄組合時才有效。如果這些要求中至少有一項未得到滿足,則當前的安全柵將斷開并恢復到掛起狀態,直到所有要求都得到滿足。當當前屏障處于掛起狀態時,顯示器之間不會發生同步。 類似地,
Source
]]>
4692
人人超碰97caoporen国产