TouchGFX FPS 的计算方法关键字:TouchGFX, FPS 详细文档:点击下载> 1. FPS帧率 (Frames Per Second, 简称 FPS) 是指视频或动画中每秒钟显示的帧数,是画面显示流畅性的关键指标。TouchGFX Desinger 中提供了 FPS 计算公式,在 Demos 类别下,几个显示界面带有 FPS 的 Demo 其代码中都带有 FPS 计算公式。 大致是在每个界面的 handleTickEvent 函数中通过如下公式来计算 FPS 值的。 c 运行
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。 c 运行
3. 推荐的 FPS 计算公式考虑到有时无法准确获得刷新率,以及不知道帧补偿是开启还是关闭,那么推荐的方式是通过逻辑分析仪来测量 1s 之内的渲染次数。例如测量 1s 内的 RENDER_TIME_GPIO 翻转的次数,这样是最准确的。 通过在 STM32CubeMX 中定义一个 RENDER_TIME_GPIO, 然后 TouchGFX 引擎会自动调用 TouchGFXGPIO.cpp 中的以下代码来进行翻转。 c 运行
4. 小结本文档介绍了不同情况下如何准确测量 TouchGFX 应用的帧率 FPS 的方法,供参考使用。 |
TouchGFX开发STM32F429程序
好用软件推荐-TouchGFX Designer
广州/南京 | STM32GUI图形界面应用开发实训(基于STM32H7R7/S7 + TouchGFX开发平台)
TouchGFX升级至4.26版本:持续进化,为STM32嵌入式GUI开发降本提效
【2025·STM32峰会】+TouchGFX实现动态进度显示以及界面切换
【2025·STM32峰会】+使用TouchGFX快速创建GUI
实验经验 | LTDC RGB 接口 LCD TouchGFX 工程的移植步骤
实战经验 | 基于STM32CubeIDE下载TouchGFX GUI应用的出错分析
《如何使用TouchGFX》视频课程上线啦:助力你的GUI设计
TouchGFX 4.23:支持矢量字体,节省Flash,更丰富的UI!
微信公众号
手机版