面向GUI的代码和游戏

描述

我们这些记得DOS和其他命令界面的人欣赏图形用户界面(GUI)的发明:图形控件和显示使我们更加高效和富有成效,因为它们直观,几乎不需要学习。GUI 让生活更轻松,无论是编写代码还是玩游戏。

为什么?俗话说,一张图片胜过千言万语。但在操作控制方面,它实际上更有价值。快速读者可以以每分钟大约 200 字(或大约 900 字节)的速度校对材料。出于同样的原因,视频游戏玩家以每秒 60 帧的速度在 1920 x 1080 像素的屏幕上操纵图像,每分钟可以理解大约 22 GB。因此,通过图形信息与文本信息移动控件的胜利超过 2200 万倍。

人们几乎可以瞬间吸收大量的感官数据。想想汽车在夜间进出高速交通,这种情况每天都在发生,事故相对较少。但是,如果你蒙住这些司机的眼睛,给他们口头命令,告诉他们什么时候该下地板,什么时候踩刹车,什么时候转弯,那将是一个灾难场景。

可视化面临的挑战

如果流程中的每个步骤都可以直观地而不是文本地进行验证和测试,那么编写代码就会容易得多。如果您知道数据在程序中某些点的外观,但可视化指示相反,则可以在问题成倍增加之前停止并修复问题。借助 GUI,可以在编码时对算法进行检测、仿真和演示,从而缩短调试时间。然而,尽管市场上有许多GUI套件,但GUI在嵌入式世界中并不是必不可少的。

程序员可能看不到GUI的成本/收益,因为嵌入式软件(如导弹跟踪系统或雷达处理应用程序)可能不需要图形支持。例如,目标处理器甚至可能没有图形芯片。此外,GUI 会耗尽处理器周期并造成瓶颈,这两者都是绝对不可接受的。此外,GUI 通常涉及大量代码,并且工具包可能需要广泛的学习曲线,因为程序员熟悉数百甚至数千个应用程序接口 (API)。

更重要的是,传统的GUI(从非确定性世界中出现)很难适应嵌入式处理的需求。首先,GUI软件通常用于事件驱动的编程模型,其中许多编程循环在后台“休眠”,直到由鼠标单击或按键等操作触发。根据用户输入,组件的执行顺序将不可预测地变化。这种多功能性非常适合文字处理等功能。相比之下,需要高度可预测性能的实时嵌入式处理应用程序通常依赖于顺序编程模型,其中程序中的每个步骤都是预先确定的,并根据严格的时间表执行。

嵌入式软件的开发人员一直不愿意开发GUI,因为传统的GUI会增加开发和维护成本,消耗周期,并且似乎没有必要。

如果?

如果嵌入式软件世界可以在不产生成本的情况下获得 GUI 的好处,那会怎样?对于初学者来说,这将需要易于使用的GUI开发工具包,可以快速创建简洁的界面。GUI 还需要与目标代码分离,以便可以根据需要远程运行可视化。

由于这些 GUI 将比非嵌入式世界中的系统更小、更简单——不需要下拉菜单或弹出对话框——这些套件将涉及更少的 API。GUI将专注于输入和可视化数据的基本必要性。应用程序开销将限制为在必要时通过通常内置于现代板中的TCP连接发送和接收数据。

如果 GUI 可以快速设置并允许开发人员最大限度地减少编码和调试时间,那么这将是一个成功的方案。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分