知识卡片

子通道融合避免片上数据落地

专业/工作 · 157.a

内容

一个渲染通道可以包含多个子通道,子通道间的执行顺序和依赖关系由渲染通道统一描述;驱动因此有机会把相邻子通道在底层融合,把前一个子通道写出的中间结果直接喂给下一个子通道读取,不必先写回显存再读回来。这种”把多步处理声明成一个整体交给驱动优化”的模式,把调度细节的自由度让渡给驱动层,应用程序只声明”做什么”,不管”怎么排列执行”——这和编译器、查询优化器先建声明式依赖图再做融合优化是同一类思路。

参考来源

《Vulkan学习指南》第7章《缓存资源、渲染通道、帧缓存以及SPIR-V着色器》