當前位置:首頁 » 硬碟大全 » cemuvulkan緩存
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

cemuvulkan緩存

發布時間: 2022-09-26 16:39:18

① cemu全屏快捷鍵

Alt+Enter。
Cemu是一個流行的基於軟體的復古電子游戲模擬器,專門模擬任天堂WiiU游戲,它是這類模擬器中第一個,它利用了OpenGL和Vulkan來運行游戲。

② Vulkan 資源綁定和狀態管理

Vulkan中的管線分為兩種:Compute Pipeline 和 Graphics Pipeline。

這兩種Pipeline的作用跟其他CG API並沒有太大的差別。

Compute Pipeline 用於異構並行計算,Graphics Pipeline 用於繪制渲染。

1965年英特爾(intel)創始人之一的戈登·摩爾提出著名的摩爾定律:集成電路上可容納的元器件的數量每隔18至24個月就會增加一倍,性能也將提升一倍。

從此,摩爾定律成為了推動半導體行業發展的「自我實現」的預言。

但是隨著行業的發展,摩爾定律越來越難以實現。2019年英偉達(Nvidia)CEO黃仁勛在CES 2019展會上表示:「摩爾定律過去是每5年增長10倍,每10年增長100倍。而如今,摩爾定律每年只能增長幾個百分點,每10年可能只有2倍。因此,摩爾定律結束了。」

黃仁勛聲稱摩爾定律已經失效,他說這番話也許有商業原因,但是一個真實的行業情況就是:在人工智慧、雲計算、數據挖掘、數據分析等技術興起的背景下,CPU算力越來越捉襟見肘。

行業對算力的強烈需求,推動了異構計算技術的發展。

Vulkan在設計之時就已經將支持異構並行計算納入考慮范圍。Compute Pipeline就是為此而生。

Vulkan 的Compute Pipleline比較簡單,API也比較少,基本上我們只需要關注shader本身就好。

相比於Compute Pipleline,Vulkan的Graphics Pipeline更加復雜,Rasterzation(光柵化)、Shading(著色)、Geometry (幾何著色)、Tessellation (細分)... ... 這些年虐過你的功能一個不少。

在Vulkan中,配置Graphics Pipeline需要三個步驟:

後兩者是本文要講的重點。

從早期開始,OpenGL 狀態機就提供了更細顆粒度的狀態控制。

精細顆粒度的控制對驅動程序帶來了負擔,驅動程序不得不對狀態進行緩存和運行時編譯(JIT)。

但是現在新的API,幾乎把整個GPU state vector封裝到一個object中。

比如,如果你想切換狀態,是通過切換pipeline state A和pipeline state B。而不是想OpenGL中那樣更改標志位。

這樣粗顆粒度的狀態對象的優勢是方便驅動程序的編譯和驗證,有助於避免在狀態改變時造成的暫停現象。

Vulkan的Pipeline狀態管理參考的是Mantel,提供了Pipeline State Object(PSO)進行狀態管理:

Dynamic state

Vulkan的資源綁定涉及到以下幾個概念:

了解DirectX12(D3D12)的同學更容易接受Descriptor Set、Descriptor binding這些概念,因為Vulkan的綁定模型(Binding model)一部分參考了DirectX12(D3D12)的設計理念。

Descriptor是一個GPU特定編碼格式的數據塊。Descriptor所指的內容不同,就可以表示不同的數據類型。比如指向紋理的texture descriptor可能包括指向紋理數據的指針,以及寬度/高度,格式等信息。

由於不同的GPU存儲信息的方式不同,所以API中並沒有對應用暴露format信息。

Descriptor的內存不可以分配和釋放,只能write, 和 move。

Descriptor Set 是一個綁定在Pipeline上資源集合。多個Descriptor Set可以同時綁定到一個Pipeline上。

每個Descriptor Set都有一個layout,Descriptor set Layout會控制當前資源集中的資源排布方式,給shader提供了讀取資源的介面。

Descriptor set layout 本質上是Descriptor bindings的集合。 Descriptor binding 可以是一個 texture descriptor、buffer descriptor或者sampler descriptor等descriptor。

正是通過Descriptor binding,Descriptor Set才實現了shader和資源的綁定,方便了shader對資源的讀寫操作。

Pipeline layout是由Pipeline可以訪問的由descriptor set layouts 和 push constant ranges組成,它表示Pipeline可以訪問的完整資源集。

其中, Push constant 提供了一個快速更新shader中常量的方法。

我們把上述元素組織在一起,就是vulkan資源的綁定模型。

Descriptor Set包含一組Descriptor和Descriptor Set layout:

Constants register array(Root Table) 把多個Descriptor Set 和 push constant組織在一起。

Pipeline layout 表示整個渲染管線的資源布局。

最後我們來看一下整體架構的示意圖:

參考文檔:

③ opengl和vulkan哪個好

還早,我感覺現在是vulkan的吹牛階段.他號稱的效率提高xx倍.我覺得是炒作.。

④ 什麼maya2018.2找不到Alembic緩存

方法:必須得用maya2013或以上的版本,先在PluginManager中載入插件:AbcExport.mll;AbcImport.mll;gpuCache.mll。在【polygon】模塊下File那一欄的最後就會出現【PipelineCache】新功能。【PipelineCache】下有【AlembicCache】和【GpuCache】兩個方式都能導出abc緩存文件,但兩種方式導出的abc緩存文件再倒入maya中效果不同。(4)cemuvulkan緩存擴展閱讀:管線一直是圖形學中的實現圖形學功能的邏輯概念。在以往OpenGL語言中,管線被隱藏,在內部隱式執行。Vulkan吸收MantleAPI特點,暴露更多底層細節,將驅動控制交由用戶控制。這種機制CPU多線程更加優秀,減少CPU在驅動上的時間。因此,vulkan可以顯示創建管線。因為管線需要組裝固定函數以及可編程部分,創建管線需要不少時間。對於程序啟動或者在程序中更改狀態,需要重新創建管線的響應都會變快。