嵌入式开发:每秒60帧对于嵌入式GUI开发有多重要?

更新时间: 2022-10-30 09:13:47来源: 粤嵌教育浏览量:8274

  在嵌入式开发中,有许多因素使60 FPS成为一个不完整的目标,这不仅仅是一个任意的数字,而是关于管理CPU工作负载以实现卓越的用户体验和最大的能效。

  当谈到嵌入式GUI开发时,每秒60帧(FPS)水印与“平滑”、“美丽”和“流畅”同义。开发人员和精通技术的用户谈论60 FPS作为屏幕更新的黄金标准,而供应商承诺只有他们的平台才能帮助你实现这一目标。

  最终用户最后一次真正注意到设备的帧速率是什么时候?更有可能的是,他们抱怨屏幕过渡缓慢或动画抖动,他们可能在不知道实际原因的情况下将其归因于FPS。大多数用户并不特别关心每秒帧数;他们关心用户体验(UX)以及需要多长时间插入设备。

  这些因素使60 FPS成为一个不完整的目标。这不仅仅是为了实现这个数字,而是为了在用户没有注意到的情况下管理CPU工作负载。

  60是一个好的FPS吗?

  通常情况下,高帧速率声明来自于设计用于实现任意水印的应用程序,而不是真实系统的真实情况。以下是一些以实现60 FPS为名义的设计决策示例:

  1.用于图像和动画的原始文件格式与许多嵌入式开发人员用于节省存储空间的压缩格式

  2.后端软件和GUI之间的进程间通信或事件处理最少

  3.地图和语音助手等应用程序通常不需要复杂的计算或算法

  4.使用具有快速访问时间的硬件和外围设备,但并非所有项目和预算都可以使用(尽管这在MCU领域已不再是一个问题,因为硅供应商正在发布更强大的产品,如本次NXP网络研讨会所解释的)

  5.测量关注屏幕的刷新率,而不是应用程序呈现到屏幕上的次数

  

  刷新率会影响FPS吗?

  上述最后一点极为重要,有两个原因。首先,以60Hz刷新率运行的屏幕与CPU和GPU上的应用程序工作负载几乎没有关系,屏幕随运行而运行;其次,如果应用程序以与屏幕相同的速度刷新整个帧缓冲区,那么嵌入式开发人员必须认真考虑为什么会这样,消耗宝贵的处理器和内存周期不应掉以轻心,许多应用程序实际上并不需要60 Hz的全屏刷新。

  有一个平滑、高效、光滑的GUI更好吗?还是牺牲掉60 FPS更好?

  什么是可接受的FPS?

  嵌入式应用程序的“正确”FPS是一种能够创建最佳用户体验并将每帧内的功耗降至最低的FPS。最好的嵌入式用户体验是通过在框架边界内呈现设计师的屏幕元素和行为意图来实现的。在60 FPS的情况下,这意味着在16毫秒(ms)内完成必要的处理和渲染。“必要”的定义取决于应用程序,但一般来说,这并不要求每一帧都重新渲染整个屏幕。由于工作负载消耗处理器周期和电源,因此只应呈现不断变化的元素。

  始终问问自己:系统需要什么,什么时候必须做。从那里,你可以调高或调低以获得所需的FPS。

  Storyboard如何帮助

  Storyboard旨在优化CPU和GPU工作负载,并最大限度地提高电源效率。Storyboard运行库仅在必要时绘制和刷新屏幕,并且仅更新帧缓冲区中更改的元素。此外,在嵌入式开发中,Storyboard还包括内存可视化和性能优化工具,使你能够在部署之前确定应用程序占用空间以及目标上的运行时特征(包括FPS)。

免费预约试听课