嵌入式应用程序图形界面刷新技术

2020-05-27 12:15
通信电源技术 2020年6期
关键词:图形用户界面嵌入式软件开发人员

陈 涛

(91404 部队,河北 秦皇岛 066000)

0 引言

软件图形用户界面是系统应用程序的重要组成部分,是软件与用户进行信息交流的接口。由于受传统观念的影响,一直以来,图形用户界面不被软件开发人员所重视,认为是否具有强大的功能,能否完成软件需求是评价软件质量好坏的唯一标准。由于嵌入式设备小体积、高可靠性等特点,使得设备系统资源有限,数据处理能力有限,安装在嵌入式设备上的软件受硬件条件的限制,图形用户界面必须注重满足:高性能、轻型、占用资源少等特点。所以在软件图形用户界面设计和可操作性等方面对嵌入式软件提出了更高的要求。

这表明优秀的图形用户界面已经成为嵌入式软件开发的一个重要组成部分,它不仅能为用户创造良好、轻松的操作环境,提供有效、可靠的信息依据,而且还能提高软件的可靠性与安全性,避免造成严重后果。

1 界面刷新技术所面临的问题及原因分析

嵌入式软件的应用与开发是当今计算机软件发展的一个热点,嵌入式软件是指驻留运行在嵌入式计算机中的执行程序,主要被嵌入到武器系统、飞机、舰船、导弹、宇宙飞船、某些指挥与控制系统等之内的数据处理机。它不仅可以为用户提供多任务调度机制,而且可以进行实时的任务间通信,使繁杂的多任务处理机制更加快捷高效[1]。

在某嵌入式软件测试项目中,正常执行功能测试、人机界面测试等测试用例时,系统软件时间更新频率正常,软件的图形界面也随之正常显示,未发现明显缺陷。当进行强度测试时,出现了图形界面显示残留、重叠(见图1),参数显示刷新频率不一致等问题。

分析其原因,一方面,由于强度测试中被测软件是在多负载、长时间运行的情况下连续运行测试用例的,图形界面刷新发生频率高而导致刷新的时间间隔很小,使嵌入式设备显示资源瞬间消耗过多过快,处理运行速度变慢,极易出现软件界面显示异常的现象,甚至出现软件崩溃、系统死机等严重缺陷。另一方面,人机交互属于异步事件,当操作键盘、鼠标时,软件处理会出现明显的不协调。尤其是实时系统的正确性不仅取决于其逻辑运算结果而且也取决于输出运算结果的时间[2]。这就要求嵌入式系统及其分系统的软件在总体程序设计上综合考虑。在不改变原有程序功能的情况下,对应用程序进行优化设计、算法改进,使修改后的程序运行效率更高,以满足系统总体的开发效果。

图1 图形与表格显示重叠示意图

2 程序优化的建议

应用程序的算法设计策略是以一步接一步的方式详细描述程序如何将输入转化为所要求的输出的过程,是程序设计的核心。在进行程序设计时,通常可以采用多种算法来实现某种功能,而不同算法的差别也是很大的。一个好的程序设计算法尤为重要。评价一种算法需考虑如下5 种因素。

第一,算法必须具有正确性,应该能够正确的解决问题。算法是解决问题的指导方法,程序是算法的具体实现。如果算法不能正确指导程序编写和实施,设计出的程序也不是一个好的程序。

第二,算法必须具有可读性。算法应具有良好的可读性,以帮助开发人员理解,在开发人员修改阅读程序时,能够快速的理解和掌握该算法。

第三,算法必须具有健壮性。在用户输入非法数据时,算法能适应的做出反应或进行处理。

第四,算法必须考虑硬件存储量因素。存储量标准是指算法执行过程中所需最大存储空间。在存储和运算资源有限的嵌入式设备上,能够正确实现所需功能的前提下,尽可能减小程序代码占用的存储空间。

第五,算法还要考虑效率标准,效率包括时间复杂度和空间复杂度等。在空间复杂度一定时,算法时间复杂度越低,执行效率就越高,执行时间就越短,软件性能就越高。

通过对本项目的分析,一方面,安装在嵌入式设备中的软件,受到设备处理器运算能力的限制,对软件进行满负荷操作,使嵌入式图形设备的处理速度变慢。另一方面,程序软件开发人员为了代码编写和维护更加方便直观、界面设计更加美观,采用了大量的代码封装、庞大的类库和复杂的运算,在一定程度上影响了软件的处理速度[3]。通过改进代码连接,减少不必要的循环语句;简化库文件,避免不必要的库文件访问;优化界面,减少图形控件使用等方法,对程序算法进行优化,可以有效减轻界面刷新的负载,提高软件性能。

3 结论

在当今信息社会中,嵌入式计算机及其实时软件承担着过程控制、数据采集和处理、数据通信以及系统安全保障等任务。目前,嵌入式软件的应用范围更广、规模更大,已经成为整个系统的神经中枢。现代信息化社会对嵌入式软件的要求很高,微小的错误可能导致灾难性结果[4],因此对质量和可靠性要求更严,而软件界面刷新技术已经成为影响嵌入式软件安全性和可用性的重要因素。

本例通过在不影响系统总体的开发效果的基础上,对原算法进行优化,减少程序代码量,解决了图形界面刷新问题,从而提高了系统的运行效率[5]。

猜你喜欢
图形用户界面嵌入式软件开发人员
Java图形用户界面编程在文本格式化设置系统中的教学研究
嵌入式软件测试数据传输稳定性检测方式分析
Semtech发布LoRa Basics 以加速物联网应用
全景相机遥控器嵌入式软件V1.0 相关操作分析
浅析我国GUI外观专利申请现况
城轨综合监控系统用户界面菜单层级结构设计与实现
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制
后悔了?教你隐藏开发人员选项
三星SMI扩展Java论坛 开发人员可用母语