ssRender渲染引擎之Tag属性的性能测试

       

        本篇将给大家隆重介绍一个渲染优化技术--合批渲染,许多做过或者接触过hmi的小伙伴们或多或少都会遇到项目优化的难题,遇到瓶颈抓耳挠腮,很多时候只能妥协,那么今天我们结合一下实际案例,探讨如何利用合批渲染技术来提升渲染引擎的性能,并介绍我们ssRender工具的 Tag 功能,以及通过对比实验和数据所展示的优势。

    

        合批渲染技术是一种优化渲染过程的方法,它通过合并多个渲染对象的渲染请求,一次性提交给渲染引擎处理,从而减少渲染引擎的调用次数,提高渲染效率。这种技术在处理大量渲染对象时尤为有效,能够显著减少渲染引擎的负担,提升整体性能。

        首先,我们选择了车载行业常见的显示元素——TT灯,并在ssRenderEditor工具布置了121个TT灯位。

        Tag属性用于设置分层刷新的参数。如果将两个或多个Item的Tag参数设置为相同的字符串,例如:"light",ssRender将把所有的Tag值“light”的节点进行整组的状态刷新,从而减少因刷新过于分散而导致的性能损耗。

设置了Tag属性

​​​​​​​

设置了Tag属性

没有设置Tag属性

        对比实验的变量:是否设置Tag属性,然后我们让TT灯进行闪烁,不同的TT灯设置不同的显隐频率,模拟实车的报警灯效果,具体如下:

在仪表上的表现(qnx660+imx6d)

        为了展示在QNX660 i.MX6D环境中的性能表现,我们提供了以下数据:

        ssrLoader用于加载工程文件和调用ssRender接口的进程。实验的对象是两个工程,两个工程中都有121个TT灯位,其中一个工程的所有TT灯节点的Tag参数都统一设置成了"light"。

        1、首先,让我们看一下没有设置Tag属性的数据。在这种情况下,CPU占用率为23.67%,帧率在23至25FPS之间。

没有设置Tag属性的数据

        2、接下来,让我们看一下设置了Tag属性的数据。在这种情况下,CPU占用率下降至4.83%,而帧率稳定在60FPS。

设置过Tag的数据

        通过对比数据,可以清晰地看到设置Tag属性后性能有了显著提升。无论是从CPU占用率还是ssRender渲染引擎的帧率来看,优化效果都十分明显。因此,当我们遇到项目帧率偏低卡顿和性能瓶颈时,不妨尝试使用这个神奇的Tag属性。

        最后,最后让我们来看下qnx侧的top数据多次实验的结果对比(HaveTag设置了Tag属性,NoTag没有设置Tag属性):

Qnx侧的设置Tag和不设置Tag的数据对比

        结论:

        1、CPU占用率对比:工程含Tag属性CPU (ssrLoader) 占用4.80%-5.98%(288-358.8DMIPS),相比不含Tag属性的工程,CPU占用率降低了39.7-40.5%。

        2、工程含Tag属性的顿率在60FPS,相比不含Tag属性的工程,提升帧率33-38FPS。

        如果本篇有帮助到各位看官,不妨点个赞呗~~

        ssRender努力做国人自己的HMI解决方案!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值