vue 移动端点击延迟_使用Vulkan的renderpass加速移动端延迟渲染

本文探讨了如何利用Vulkan的renderpass特性在移动端实现延迟渲染的加速。通过将G-Buffer和Lighting pass整合进同一renderpass,减少带宽使用,提升性能。在tile-based GPU上,G-Buffer数据保留在on-chip SRAM中,降低读写成本。文章还展示了在不同场景(Baseline, Sponza, Lofoten)下应用此技术的性能提升数据。" 104734543,7643422,机器学习模型评价:从准确度到F1 Score与ROC,"['机器学习', '模型评估', '数据拆分', '分类', '回归']
摘要由CSDN通过智能技术生成

9ee7e60d09c3065337b6eb0e07725e4f.png

由于本人才疏学浅,翻译难免有误,望各位不吝惜指正。


感谢两位作者,今天为大家分享使用Vulkan的renderpass加速移动端延迟渲染。

fd9047ea905783b483eaffb22d7b8aa8.png

内容

  • multipass是什么?
  • multipass可以做什么?
    • 驱动可以做什么
    • 开发者可以做什么
    • 临时图像和LAZILY内存分配
  • 案例
    • Baseline
    • Sponza
    • Lofoten

f97d412cd202af4f8493c19ead4f2833.png

multipass是什么?

  • 一个renderpass可以有多个subpass
  • subpass之间可以设定依赖关系
    • render pass的关系可以用图表示
  • subpass可以只使用附着的一个子集

2a88d1674d7b94be3e26879af945803e.png

Vulkan对延迟渲染的提升

  • 经典的延迟渲染算法包含两个render pass
    • G-Buffer pass,渲染4张纹理
    • Lighting pass,读取G-Buffer,进行光照着色
  • Lighting pass只读取了gl_FragCoord位置处的G-Buffer数据
  • 考虑使用Vulkan的multipass来实现延迟渲染
    • 需要两个subpass
    • 需要使用的依赖
      • COLOR | DEPTH -> INPUT_ATTACHMENT | COLOR | DEPTH_READ
      • VK_DEPENDENCY_BY_REGION_BIT

3910a4f27c35c64d6768236c61c17e9b.png

Tile-based GPU

  • Tile-based GPU会将一个render pass的所有primitive按tile打包
  • 在片段处理阶段,一次渲染一个tile
    • 硬件具有覆盖这一tile的所有primitive信息
    • framebuffer的数据在更快速,但也更小的SRAM中
  • 让framebuffer数据保持在on-chip SRAM好处很大
    • 读写这一区域的代价极小,不占用外部带宽
  • 当一个tile渲染完后,才会被写入主存

b44daeb33ad3c15b366d9f24e5deedff.png

针对Tile-based GPU的subpass融合

  • subpass在渲染前已经确定
    • VkRenderPass
  • 驱动会查找具有下列属性的subp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值