当前位置:首页 » 硬盘大全 » 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可以显示创建管线。因为管线需要组装固定函数以及可编程部分,创建管线需要不少时间。对于程序启动或者在程序中更改状态,需要重新创建管线的响应都会变快。