• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1478 TouchGFX FPS的计算方法

2025/03/06
683
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1478 TouchGFX FPS的计算方法

274.94 KB

1、FPS

帧率(Frames Per Second,简称 FPS)是指视频或动画中每秒钟显示的帧数,是画面显示流畅性的关键指标。TouchGFX Desinger 中提供了 FPS 计算公式,在 Demos 类别下,几个显示界面带有 FPS 的 Demo 其代码中都带有 FPS 计算公式。 大致是在每个界面的handleTickEvent 函数中通过如下公式来计算 FPS 值的。

2、FPS 计算公式的局限性

如果使用上述公式来计算 FPS,其实是需要满足一定前提条件的。一个是图像的刷新率是60Hz,另一个是是否开启帧补偿。

2.1. 刷新率是不是 60Hz

上述公式是在刷新率是 60Hz 的情况下计算的,如果 TouchGFX 界面的刷新率不是60Hz,那么上述公式计算出来的结果就不准确。

因为 FPS 是指在 1 秒钟时间里传输的图像的帧数量,那么每个 Tick 的周期要保证是16.667ms,这样才能使用 if (frames + frameSkippedCounter >= 60)的判断条件。TouchGFX 提供的 LTDC 接口的 TBS(TouchGFX Board Setup)每个 Tick 是 16.667ms,所以都使用这个公式,如果是自己重新创建的工程,那么就需要注意这点。如果一个 Tick周期是 33.3ms,1s 是 30 个 tick 周期,那么就需要修改判断条件为 if (frames +frameSkippedCounter >= 30)。

2.2. 帧补偿关闭的情况

其次,上述公式只有在 TouchGFX 丢帧补偿使能的情况下才有效。如果 TouchGFX 丢帧补偿处于关闭状态,那么可以用以下公式来计算 FPS。

3、推荐的 FPS 计算公式

考虑到有时无法准确获得刷新率,以及不知道帧补偿是开启还是关闭,那么推荐的方式是通过逻辑分析仪来测量 1s 之内的渲染次数。例如测量 1s 内的 RENDER_TIME_GPIO 翻转的次数,这样是最准确的。

通过在 STM32CubeMX 中定义一个 RENDER_TIME_GPIO,然后 TouchGFX 引擎会自动调用 TouchGFXGPIO.cpp 中的以下代码来进行翻转。

4、小结

本文档介绍了不同情况下如何准确测量 TouchGFX 应用的帧率 FPS 的方法,供参考使用。

在线预览

相关推荐

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一 家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和 解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需 求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广 泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排 放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏 览意法半导体公司网站:www.st.com.cn