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 Tutorial 01 开发环境搭建之Windows
Vulkan Tutorial 01 开发环境搭建之Windows
使用 CMake、conan 和 Vulkan SDK 的 Github 操作失败,因为找不到 conanfile.py