不取消映射 vulkan 内存

Posted

技术标签:

【中文标题】不取消映射 vulkan 内存【英文标题】:Not unmapping vulkan memory 【发布时间】:2020-06-25 09:49:12 【问题描述】:

我有一个 Vulkan 内存映射,它的生命周期与其对应的 VkDeviceMemory 相同。目前我在 VkDeviceMemory 被破坏之前取消映射它。但是,我想知道这一步是否是强制性的,因为避免它会减少我班级的内存占用。

在启用验证层的情况下尝试不会报错,但是可能无法实现此错误检测。

那么,在释放 Vulkan 内存之前是否必须取消映射?

编辑:documentation 没有明确说明

【问题讨论】:

【参考方案1】:

Vulkan 规范说:

如果内存对象在释放时被映射,则它被隐式地取消映射。

很明显,在不取消映射的情况下释放内存没有问题。

【讨论】:

以上是关于不取消映射 vulkan 内存的主要内容,如果未能解决你的问题,请参考以下文章

Vulkan系列教程—VMA教程—内存映射(Memory Mapping)

映射GPU内存时应该使用volatile吗?

取消映射提升共享内存

mmap/munmap映射函数在windows下是啥?如何修改

vim评论/取消评论与一个映射[重复]

如何取消登录时自动映射网络驱动器功能