Vulkan应用开发指南(etc.)

  1. 书: https://pan.baidu.com/s/1XqKbodMZYD_Bu2f_E1ghxw?pwd=y5p9
  2. 笔记如下:
  3. “Vulkan是‘面向未来的图形API’,显式控制GPU资源,替代OpenGL的隐式状态机。”
  4. vkEnumerateInstanceExtensionProperties检查扩展支持,VK_KHR_surface启用窗口系统集成。”
  5. “队列家族(Queue Family)区分图形、计算和传输操作,vkGetPhysicalDeviceQueueFamilyProperties查询能力。”
  6. “交换链(Swapchain)配置三要素:表面格式(VkSurfaceFormatKHR)、呈现模式(VkPresentModeKHR)、分辨率(VkExtent2D)。”
  7. “管线布局(VkPipelineLayout)绑定描述符集和推送常量(Push Constants),后者适合高频小数据更新。”
  8. “内存类型索引(memoryTypeIndex)区分设备本地(VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)和主机可见内存。”
  9. “屏障(VkImageMemoryBarrier)控制资源访问同步,转换图像布局(如VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL)。”
  10. “描述符池(VkDescriptorPool)预分配描述符集,避免运行时动态分配开销。”
  11. “多采样抗锯齿(MSAA):VkImageCreateInfo设置sampleCountVkPipelineMultisampleStateCreateInfo配置采样数。”
  12. “动态渲染(VK_KHR_dynamic_rendering)替代VkRenderPass,简化现代渲染流程。”
  13. “间接命令(VkDrawIndirectCommand)结合计算着色器生成绘制参数,实现GPU驱动渲染。”
  14. “管线衍生(Pipeline Derivatives)复用基础管线状态,减少创建开销(如VK_PIPELINE_CREATE_DERIVATIVE_BIT)。”
  15. “时间戳查询(VkQueryPool)测量GPU耗时,vkCmdWriteTimestamp插入标记。”
  16. VK_EXT_mesh_shader引入网格着色器,替代传统顶点/图元着色器管线。”
  17. “异步计算:提交到不同队列(图形vs计算),用VkSemaphore同步避免资源竞争。”
  18. VK_KHR_buffer_device_address允许着色器直接访问GPU内存,加速光线追踪。”
  19. “延迟渲染优化:VkRenderPass子通道(Subpass)共享附件数据,减少带宽消耗。”
  20. VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT启用着色器printf调试,输出到主机日志。”
  21. “管线缓存(VkPipelineCache)跨程序启动持久化,加速管线重建。”
  22. “开发箴言:‘验证层(Validation Layers)是最好老师——始终在调试阶段启用’。”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注