- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Vulkan 中有两种类型的内存让我很头疼:
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
bit indicates that the host cache management commandsvkFlushMappedMemoryRanges
andvkInvalidateMappedMemoryRanges
are not needed to flush host writes to the device or make device writes visible to the host, respectively.
VK_MEMORY_PROPERTY_HOST_CACHED_BIT
bit indicates that memory allocated with this type is cached on the host. Host memory accesses to uncached memory are slower than to cached memory, however uncached memory is always host coherent.
最佳答案
缓存/相干内存有效地意味着 GPU 可以看到 CPU 的缓存。这通常发生在 GPU 和 CPU 位于同一芯片上的架构上。 GPU 实际上只是 CPU 芯片上的另一个核心,可以访问 CPU 的核心。
但它也可能发生在其他架构上。 Some standalone GPUs offer cached/coherent memory .事实上,它们中的大多数不提供没有一致性的缓存内存。从架构的角度来看,它代表了 GPU 通过至少部分 CPU 缓存访问数据的某种方式。
您应该记住的关于缓存/一致内存的关键是:如果该内存池有替代内存类型,那么设备访问的替代内存类型可能会更快。此外,如果存在替代方案,则设备完全有可能无法将某些类型/格式的图像或缓冲区存储在此类内存类型中。因此,除非您确实需要从 CPU 访问缓存的内存,或者设备没有提供替代方案,否则最好避免它。
关于vulkan - HOST_CACHED_BIT 和 HOST_COHERENT_BIT 是否相互矛盾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45017121/
Vulkan 中有两种类型的内存让我很头疼: VK_MEMORY_PROPERTY_HOST_COHERENT_BIT bit indicates that the host cache manage
我是一名优秀的程序员,十分优秀!