[KANZI]详解Kanzi One 2D节点CachingMode

为了提高应用程序的性能,我们可以缓存 2D 节点的渲染使其变为静态的在某个点或者自身很少进行渲染的时候, 使用此方法可以加速复杂节点的渲染。

当我们对2D 节点启用缓存时,该节点会为自己生成一个缓存图像,将自己渲染给它,在后面的帧渲染中使用这个生成的缓存图像而不是再次渲染自己。

因为缓存会消耗 GPU 内存,所以默认情况下它是禁用的。 当为节点禁用缓存时,Kanzi 正常渲染该节点并释放与渲染缓存关联的所有资源。

使用自动渲染缓存更新

我们可以对渲染成本高且不经常变化的复杂节点使用自动缓存更新,这样当节点或其子节点只有在渲染发生变化,例如节点内容的大小或者形状发生变化时,才会自动更新渲染缓存,没有变化的时候,不会进行渲染,显示的时当前状态的缓存图像。

  • 如果节点是静态的,Kanzi重新创建缓存图像或者渲染当前节点用当前存在且有效的缓存图像。

  • 如果当前渲染的节点发生变化,Kanzi会使当前缓存图像无效同时会正常渲染节点。

手动控制渲染缓存更新

如果我们明确的知道渲染缓存何时更新,或者自定义更新时机的时候,我们可以手动控制缓存更新,最简单的方法可以通过绑定Caching Mode的方式去控制何时去Disabled 何时去 Enabled,当然当逻辑比较复杂时,我们也可以通过编写Kanzi Engine 插件去控制Caching Mode。

我们也可以通过设置Cache Vaild属性来让渲染缓存无效。


Tips:使渲染缓存失效不会释放节点分配的任何资源,如果要释放与渲染缓存关联的资源,需要将缓存模式属性设置为禁用,


与本节课内容相关的Kanzi Engine 开源插件 “performanceNode”,相关视频以及插件源码资源可以从以下链接进入。

如果大家想了解更过关于Kanzi Engine plugin的更多学习信息,可以B站订阅“中科创达-智能座舱”官方号,https://space.bilibili.com/301867101/channel/series。目前内含Kanzi插件教程/Kanzi仪表教程/Kanzi零基础教程,后续会有课程陆续上新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值