• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    內容創建/渲染

    高級 API 性能: Vulkan 清除和呈現

    ?

    這篇文章涵蓋了 Vulkan 在 NVIDIA GPU 上清算和演示的最佳實踐。要在應用程序中獲得高且一致的幀速率,請參閱所有 高級 API 性能提示 .

    最近 Vulkan 1.3 版本 ,現在是時候添加一些 Vulkan 特定的提示了,這些提示不一定會被其他 高級 API 性能 帖子明確涵蓋。除了介紹新的 Vulkan 1.3 核心功能外,這篇文章還分享了一套清理和呈現表面的良好實踐。

    Vulkan 1.3 芯

    Vulkan 1.3 通過擴展 API 中的關鍵部分帶來了改進。本節總結了我們在使用這些新功能時獲得最佳性能的建議。

    推薦

    清除

    本節提供了在調用 clear 命令時實現性能的指南。此類命令清除彩色圖像或綁定幀緩沖區附件內的區域。

    • 使用VK_ATTACHMENT_LOAD_OP_CLEAR清除子過程開頭的附件,而不是清除命令。這可以讓驅動程序跳過加載不必要的數據。
    • 在渲染過程實例之外 , 更喜歡使用vkCmdClearColorImage而不是 CS 調用來清除圖像。此路徑支持帶寬優化。
    • 如果可能,批量清除以避免在調度之間交叉進行單個清除。
    • VkClearDepthStencilValue與測試功能相協調,以實現更好的深度測試性能:
      • 0.5 ≤ 深度值< 1.0 與VK_COMPARE_OP_LESS_OR_EQUAL相關
      • 0 ≤ 深度值< 0.5 與VK_COMPARE_OP_GREATER_OR_EQUAL相關

    不推薦使用

    • 在每個應用程序中指定 30 個以上的唯一清除值(或在圖靈上指定 15 個以上)并不能充分利用清除帶寬優化。
    • 除非計算清除與相鄰調度重疊,否則應避免使用“清除著色器”。

    目前

    以下部分深入了解了使用曲面支持的表示模式的首選方式,以實現良好的性能。

    推薦

    • 依賴VK_PRESENT_MODE_FIFO_KHRVK_PRESENT_MODE_MAILBOX_KHR(對于VSync on )。值得注意的方面:
      • 首選VK_PRESENT_MODE_FIFO_KHR,因為它不會掉落框架,并且不會撕裂。
      • VK_PRESENT_MODE_MAILBOX_KHR可能提供較低的延遲,但幀可能會被丟棄。
      • 當您的應用程序只是偶爾落后于刷新率時,VK_PRESENT_MODE_FIFO_RELAXED_KHR是引人注目的,它允許撕裂以便“趕上”。
    • 依賴VK_PRESENT_MODE_IMMEDIATE_KHR關閉VSync
    • 在 Windows 系統上,使用VK_EXT_full_screen_exclusive擴展繞過合成。
    • 例如,當 windows 調整大小時,處理過時和次優交換鏈以重新創建過時的交換鏈。
    • 對于延遲敏感的應用程序,請使用 Vulkan 反射 SDK 通過及時完成游戲引擎的工作來減少延遲,以便渲染。

    更多信息

    有關將 Vulkan 與 NVIDIA GPU 一起使用的更多信息,請參閱 Vulkan 注意事項 .

    要查看 Vulkan API 狀態,請使用 Nsight Graphics 中的 API Inspector 。(免費下載)

    使用 Nsight 系統,您可以在統一的 CPU 上查看 Vulkan 使用情況 – GPU 時間線,調查口吃,并跟蹤 GPU 冷點到其 CPU 來源。 免費下載 Nsight 系統。

    致謝

    感謝 Piers Daniell 、 Ivan Fedorov 、 Adam Moss 、 Ryan Prescott 、 Joshua Schnarr 、 Juha Sj?holm 和 Márton Tamás 的反饋和貢獻。

    ?

    0

    標簽

    人人超碰97caoporen国产