linux平台绘图引擎评估报告.docx_第1页
linux平台绘图引擎评估报告.docx_第2页
linux平台绘图引擎评估报告.docx_第3页
linux平台绘图引擎评估报告.docx_第4页
linux平台绘图引擎评估报告.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6目录一、绘图引擎图表比较2二、主要绘图引擎简介21.CEGUI22.QT Embedded33.MINIGUI34.GTK +35.wxWidgets46.Fox Toolkits47.FLTK48.Clutter5三、较优绘图引擎评估推荐5四、其他6Linux平台绘图引擎评估报告根据网上资料, 对于C/C+的图形界面开发,目前在Linux平台下,有较多的人正在使用如下GUI图形引擎(按热度排序):QT/Embedded、GTK +、wxWidgets、MINIGUI、Clutter、Fox Toolkits 、CEGUI、FLTK下表列出了它们之间的主要特性:一、 绘图引擎图表比较绘图引擎比较.xlsx二、 主要绘图引擎简介1. CEGUICEGUI(Crazy Eddies GUI .uk)是一个自由免费的GUI库,基于LGPL协议,使用C+实现,完全面向对象设计。CEGUI开发者的目的是希望能够让游戏开发人员从繁琐的GUI实现细节中抽身出来,以便有更多的开发时间可以放在游戏性上。 CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D。另外,使用更高级的图形库也是可以的,比如OGRE、Irrlicht和RenderWare等,关键需求可以简化为二点: 纹理(Texture)的支持直接写屏(RHW的顶点格式、正交投影、或者使用shader实现)。 除此之外,CEGUI还同步提供了官方界面编辑器LayoutEditor和ImageSet编辑器,以方便UI和图像集的制作。2. QT EmbeddedQT/Embedded 是著名的QT库开发商TrollTech公司发布的面向嵌入式系统的QT版本。QT是桌面Linux系统普遍使用的图形库(KDE桌面系统基于QT)。与桌面版本不同,QT/E已经直接取代掉X Server及X Library等多层次,直接使用FrameBuffer,将所有的功能全部事例在一起。QT/E为用户提供了与桌面QT相似的应用接口,这可以让桌面的 应用很容易移植到嵌入式系统上。Qt/Embedded是基于Qt的嵌入式GUI和应用程序开发的工具包,它可运行多种嵌入式设备上,主要运行在嵌入式Linux系统上,并且需要C编译器的支持,并为嵌入式应用程序提供Qt的标准API。Qt/Embedded 的API是基于面向对象技术的。在应用程序开发上使用与Qt相同的工具包,只需在目标嵌入式平台上重新编译即可。使用所熟悉的桌面开发工具,来编写和保存一个嵌入式应用程序的源代码树,在移植到多种嵌入式平台时,只需要重新编译代码.Qt Designer可以使用可视化的方式设计对话框、窗口的,替代了设计代码手工编写。在Qt Designer中还可以使用布局管理器来平滑的设置窗口部件的布局,使用代码编写器编写代码,并且整合了qmake。3. MINIGUIMiniGUI 是一个跨操作系统的面向嵌入式系统的轻量级图形用户界面支持系统,可在 Linux/uClinux、eCos、uC/OS-II、VxWorks、pSOS、ThreadX 等操作系统以及 Win32 平台上运行,已广泛应用于手持信息终端、机顶盒、工业控制系统、便携式多媒体播放器机等产品和领域。MiniGUI是由北京飞漫软件技术有限公司创办的开源Linux图形用户界面支持系统,经过近些年的发展,MiniGUI已经发展成为比较成熟的性能优良的、功能丰富的跨操作系统的嵌入式图形界面支持系统。“小”是MiniGUI的特色,它目前已经广泛应用于通讯、医疗、工控、电子、机顶盒、多媒体等领域。目前,MiniGUI的最新版本为MiniGUI 3.0,所以MiniGUI对中文的支持最好。它支持GB2312与BIG5字元集,其他字元集也可以轻松加入。最后一个采用 GPL 授权的 MiniGUI 版本是 1.6.10,从 MiniGUI 2.0.4 开始 MiniGUI 被重写并使用商业授权。截止2010年9月,MiniGUI 的最新版本是3.0.10, MiniGUI 将作为合璧操作系统(HybridOS)的一个组成部分而不断演进,推荐新老用户使用合璧操作系统(Hybridos)作为嵌入式开发平台,必将节省大量的开发成本和时间。 历经十余年时间, MiniGUI 已经成为性能优良、功能丰富的跨操作系统嵌入式图形用户界面支持系统,支持Linux/uClinux、eCos、 uC/OS-II、VxWorks、ThreadX、Nucleus 、pSOS、OSE 等操作系统和数十种 SoC 芯片,已验证的硬件平台包括 ARM-based SoCs 、MIPS based SoCs 、IA-based SoCs 、PowerPC、M68K(DragonBall /ColdFire)、Intel x86 等等,广泛应用于通讯、医疗、工控、电力、机顶盒、多媒体终端等领域。 4. GTK +GTK+使用C语言开发,但是其设计者使用面向对象技术。 也提供了C+(gtkmm)、Perl、Ruby、Java和Python(PyGTK)绑定,其他的绑定有Ada、D、Haskell、PHP和所有的.NET编程语言。与其他很多部件工具箱不同,GTK+ 并不基于Xt。这一决策优劣互见:优点是GTK+ 可以应用于其他系统,其灵活性也很强;而缺点就是它无法利用以传统方法为X11定制的X资源数据库。GTK+ 最早应用于X Window System,如今已移植至其他平台,诸如Microsoft Windows、DirectFB,以及Quartz在Mac OS X.Glade是一个界面设计工具,但是它也包含了一种描述GUI界面的XML语言,它和libglade一起工作就可以直接使用GTK和GNOME控件;新的Glade-3不再直接支持生成编程语言源代码。5. wxWidgetswxWidgets(Windows and X widgets,最早命名为wxWindows)是一个开放源代码且跨平台的物件工具集(widget toolkit),其函式库可用来建立基本的图形使用者接口(GUI)。wxWidgets由Julian Smart于1992年首先开发。wxWidgets标榜使用其函式库所开发的软件只需要对源代码做少量更改(或者完全不用更改),就能在各种不同的作业平台上编译并执行。目前可支援Windows、Apple Macintosh、LinuxUnix(转译成X11、GTK+、Motif等函式库)、OpenVMS、以及OS/2。嵌入式的版本也正在开发中。函式库本身使用C+语言开发,但也有其它不同编程语言的绑扎,例如:Python(wxPython)、Perl(wxPerl)、Ruby(wxRuby)、Smalltalk(wxSmalltalk)、Java(wx4j)、甚至是JavaScript(wxjs)等。使用wxWidgets开发的软件不需经过诸如虚拟机器的技术才能执行,虽然在不同平台可使用相近甚至相同的源代码,但其最终转译并生成的执行档是完全基于作业平台的。另外,wxWidgets不只可以用来建立GUI,它也内建了基于ODBC的数据库函式、行程间通讯以及网络socket函式等的支援。wxWidgets的授权许可证是经过开放源代码促进会认证,其本质等同于GNU宽通用公共许可证(LGPL)。然而一个例外是wxWidgets授权允许修改者以自己的许可证发布。6. Fox ToolkitsFOX是一个基于C+的进行GUI开发的工具包。它包括一套丰富的窗口小部件集合和有效而简单的布局管理器,MDI窗口小部件和大窗口部件。FOX集成支持 XDND的拖放操作,X剪贴板和X选择,观察其它的I/O通道和sockets,计时器和空闲处理,对象的串行化和反串行化,一个保存持久性设置的注册项,和使用Mesa 或者OpenGL的3D窗口小部件。FOX能工作于Linux, IRIX, Solaris, HP/UX, AIX, Tru64 Unix, Windows 9x,NT,2K (VC+, GNUWIN32, Borland, VisualAge C+), FreeBSD, 和 Sequent中。7. FLTKFLTK(Fast Light Tool Kit 发音为fulltick) 是一种使用C+开发的GUI工具包,它可以应用于Unix,Linux,MS-Windows95/98/NT/2000和MacOS操作系统平台,相对于其它的许多图形接口开发工具包(如MFC、GTK、QT等),它具有体积很小、速度比较快,且有着更好的移植性。8. ClutterClutter是支持3D加速的开源GUI,采用 GNU LGPL许可证,是Intel开发的基于Linux的上网本操作系统Moblin的核心。Clutter可使用OpenGL,它并非传统2D桌面的UI metaphor,而是2.5D,clutter容器中的物体可以如“演员”一般在3D背景中移动,而开发者便是“导演”。因此比较容易创造出绚丽的特 效。Clutter支持与GTK进行互操作。一个 toolkit/scenegraph/canvas 库,使用 OpenGL/OpenGL ES 渲染 ,依赖于 GOject, Glib, GDKPixbuf 和 Pango; 目的是创建速度快、支持动画效果、视觉丰富的图形界面; 原始 (raw) 但是灵活 (flexible) 的 API 不是一个通用的 OpenGL 接口,是一个带有 3D 效果的 2D (2D with 3D effects). 基于 C 开发,让使用者摆脱了 OpenGL API 和相关数学知识带来的复杂性;简洁的 面向对象的类似 GTK+ 的 API,并提供了窗口和事件抽象;3D 桌面硬件和 3D 嵌入式硬件越来越流行; Media boxes,如 Microsoft Me

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论