Vulkan SDK之 CommandBuff

Posted KHacker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vulkan SDK之 CommandBuff相关的知识,希望对你有一定的参考价值。

Basic Command Buffer Operation

调用指定的api, 驱动将命令放入指定的buff当中。 在其他图形API(dx,or opengl) ,glsetlinewidth驱动会将其他所有的事情都做掉。

 

 

 

 

 

 

Command Buffer Pools

好处:

1、避免频繁分配和释放;

2、command buff是gpu和cpu都可见的,许多系统gpu和cpu的内存映射只能采用大粒度的内存,这个小的命令buff对显存是一种浪费;

3、内存映射比较耗时,涉及页表操作以及TLB(页表缓存,快表) 更新;

 

Command Buffer Pools and Queue Families

1. 一个queue falily 需要command buffer pool;

2. 通过 vkCreateCommandPool申请一个command pool,再从pool中申请buff,可以一次性从pool中申请多个buff;

Using Command Buffers

1、调用vkBeginCommandBuffer ,在这之后,再调用vkcmd*的话,就会将对应的命令录制到这个buff当中,vkEndCommandBuffer() 说明录制操作结束;

2、vkQueueSubmit 会将对应的命令提交给gpu,但在此之前,还是有太多之前需要处理的,后续会介绍。

以上是关于Vulkan SDK之 CommandBuff的主要内容,如果未能解决你的问题,请参考以下文章

Vulkan SDK 之 Graphics Pipeline

Vulkan SDK 之 Instance

Vulkan Tutorial 01 开发环境搭建之Windows

Vulkan Tutorial 01 开发环境搭建之Windows

Vulkan SDK Demo 之一 熟悉

使用 CMake、conan 和 Vulkan SDK 的 Github 操作失败,因为找不到 conanfile.py