0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

面向GUI的代码和游戏

星星科技指导员 来源:嵌入式计算设计 作者:CHARLOTTE ADAMS 2022-11-11 14:49 次阅读

我们这些记得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 可以快速设置并允许开发人员最大限度地减少编码和调试时间,那么这将是一个成功的方案。

审核编辑:郭婷

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

    关注

    5016

    文章

    18488

    浏览量

    293023
  • GUI
    GUI
    +关注

    关注

    3

    文章

    618

    浏览量

    39043
收藏 人收藏

    评论

    相关推荐

    Infinix面向全球发布了其首款双芯游戏旗舰—Infinix GT 20 Pro

    近日,Infinix面向全球发布了其首款双芯游戏旗舰——Infinix GT 20 Pro。作为GT 10 Pro的继任者,Infinix GT 20 Pro在保持标志性的“赛博-机甲”设计风格的同时,升级为双芯,并在游戏体验方
    的头像 发表于 05-06 11:24 460次阅读
    Infinix<b class='flag-5'>面向</b>全球发布了其首款双芯<b class='flag-5'>游戏</b>旗舰—Infinix GT 20 Pro

    STM32CubeMx使用GUI_DrawGradientH GUI_DrawGradientV绘制一直显示黑色,是哪里出错?

    使用STM32CubeMx配置 LTDC + DMA2D + FMC + GRAPHICS STemWin(开启CRC),直接使用STM32CubeMx生成代码,未进行手动修改。 问题: 1
    发表于 04-26 06:38

    分享几个嵌入式中常用的GUI

    一、什么是GUIGUI是图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。通过GUI框架,用户可直接
    的头像 发表于 04-06 08:09 627次阅读
    分享几个嵌入式中常用的<b class='flag-5'>GUI</b>

    芯原携手趣戴科技扩展手表GUI生态系统

    2024年1月9日,美国拉斯维加斯——芯原股份 (芯原,股票代码:688521.SH) 今日宣布专注于提供图形用户界面 (GUI) 软件服务的趣戴科技 (QDay Technology) 已加入其手表GUI生态系统,共同开发适用
    的头像 发表于 01-10 09:06 434次阅读

    『嵌入式GUI特训营』开营啦!是学霸就有奖拿,快来挑战一下!

    “同是嵌入式GUI设计 为什么别人做起来 轻松、快捷,很炫酷 而我的设计却 费力、耗时,有点low…“ 不要焦虑! 加入恩智浦 “ 嵌入式GUI特训营 ” 让你的GUI技能分分钟与高手比肩
    的头像 发表于 12-01 09:15 284次阅读
    『嵌入式<b class='flag-5'>GUI</b>特训营』开营啦!是学霸就有奖拿,快来挑战一下!

    python如何打开gui界面

    在Python中打开GUI界面,可以使用多种库或框架,如Tkinter、PyQt、wxPython等。下面将详细介绍如何使用Tkinter创建一个GUI界面。在写文章时,建议参考以下提纲,将文章分成
    的头像 发表于 11-22 14:12 614次阅读

    LVGL结合RT-thread快速开发出漂亮GUI的利器GUI-Guider

    GUI-Guider是一种功能强大的软件,它为用户提供了一种简单直观的方式来创建和设计图形用户界面(GUI)。
    的头像 发表于 11-14 12:38 2156次阅读
    LVGL结合RT-thread快速开发出漂亮<b class='flag-5'>GUI</b>的利器<b class='flag-5'>GUI</b>-Guider

    STM32GUI_使用 STLINK+stm32gui-pydfb 工具来实时查看图形缓存的图片

    STM32GUI_使用 STLINK+stm32gui-pydfb 工具来实时查看图形缓存的图片
    的头像 发表于 10-27 10:28 660次阅读
    STM32<b class='flag-5'>GUI</b>_使用 STLINK+stm32<b class='flag-5'>gui</b>-pydfb 工具来实时查看图形缓存的图片

    基于MCU通用GUI大盘点

    基于MCU通用GUI大盘点
    的头像 发表于 10-18 17:07 631次阅读
    基于MCU通用<b class='flag-5'>GUI</b>大盘点

    一行代码将Python程序转换为GUI应用程序

    Gooey项目支持用一行代码将(几乎)任何Python 2或3控制台程序转换为GUI应用程序。 1.快速开始 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问
    的头像 发表于 10-17 11:41 558次阅读
    一行<b class='flag-5'>代码</b>将Python程序转换为<b class='flag-5'>GUI</b>应用程序

    使用GUI Guider工具开发嵌入式GUI应用(3)

    本节讲述在GUI Guider中,应用各种UI的基本元素,并顺利部署到MCU的过程。在GUI Guider中使用各LVGL的组件时,将会涉及到GUI Guider的操作,以及将某些组件额外生成的源码添加到Keil工程中。
    的头像 发表于 08-16 14:39 1826次阅读
    使用<b class='flag-5'>GUI</b> Guider工具开发嵌入式<b class='flag-5'>GUI</b>应用(3)

    使用GUI Guider工具开发嵌入式GUI应用(2)

    GUI Guider本质上是一个方便嵌入式开发者基于LVGL开发GUI应用的源码生成器工具,其作用是帮助开发者生成LVGL的应用源码,GUI Guider最终生成的源码将要被部署到具体的嵌入式硬件平台上才能发挥作用
    的头像 发表于 08-16 14:36 2509次阅读
    使用<b class='flag-5'>GUI</b> Guider工具开发嵌入式<b class='flag-5'>GUI</b>应用(2)

    DA9066 GUI and EVB User 手册.

    DA9066 GUI and EVB User 手册.
    发表于 07-07 20:26 0次下载
    DA9066 <b class='flag-5'>GUI</b> and EVB User 手册.

    FemtoClock®2GUI 用户指南

    FemtoClock®2 GUI 用户指南
    发表于 07-04 18:55 0次下载
    FemtoClock®2<b class='flag-5'>GUI</b> 用户指南

    VersaClock 7 的 RICBox GUI 软件手册

    VersaClock 7 的 RICBox GUI 软件手册
    发表于 06-30 19:46 0次下载
    VersaClock 7 的 RICBox <b class='flag-5'>GUI</b> 软件手册