小编Bio*_*uid的帖子

资源分配量应该是“每个交换链映像”吗?

我刚刚了解了统一缓冲区(https://vulkan-tutorial.com/Uniform_buffers/Descriptor_layout_and_bufferuniformBuffers ),并且对和的大小有点困惑uniformBuffersMemory。教程中说:

我们应该有多个缓冲区,因为多个帧可能同时在飞行,我们不想在前一帧仍在读取时更新缓冲区以准备下一帧!我们可以为每帧或每个交换链图像提供一个统一的缓冲区。

据我了解,“每个交换链图像”方法更为优化。如果我是错的,请证明我错了。但为什么我们需要它的大小呢swapChainImages.size()MAX_FRAMES_IN_FLIGHT仅仅因为我们有栅栏就够了吗?举个简单的例子,如果我们只有一个正在运行的帧并在vkDeviceWaitIdle每次演示后执行,那么我们的单个统一缓冲区将始终可用并且不会被 cpu/gpu 使用,因此我们不需要它们的数组。

vulkan

3
推荐指数
1
解决办法
587
查看次数

标签 统计

vulkan ×1