2、具有emWin的小巧高效
AWTK的小并非真的小,而是它可以很小。这主要得益于:
灵活的架构
通常鱼和熊掌不兼得,功能强大和代码体积相互矛盾,AWTK要在嵌入式的低端,中端和高端平台上运行,要在Android/iOS上运行,要在PC甚至Web上运行,光靠小是不行的,灵活的架构才能 让它可小可大。
高效的数据格式
AWTK的主题数据和界面描述数据,在开 发时使用XML格式,运行时则编译成二进制的常量,故无需解析和内存分配。图片和字体也可以预先解码并编译成常量,运行时直接从FLASH读取,无需解码和内存分配。所以 AWTK在内存很小的平台仍然可以正常运行。
保守的设计
由俭到奢易,由奢到俭难。在设计控件时尽量保守,降低对底层硬件的要求。AWTK可以在低端嵌入式平台上运行。 这些平台典型的配置是32K RAM,512K Flash和低于100M主频。
>>>>
3、快
AWTK的快主要得益于:
硬件加速
AWTK抽象了硬件加速接口,目前支持 STM32的G2D、NXP的PXP和GPU(OpenGL/OpenGLES),充分挖掘硬件的性能。
缓存绘制
播窗口动画前,预先绘制窗口到缓存,播放动画(平移/弹出动画)时只是纯粹内存拷贝,运行效率到达极致。
高效的数据格式
主题数据和UI数据以高效的二进制格式存储,使用时无需解析和内存分配,创建窗口可在瞬间完成。
脏矩形算法
启用脏矩形算法,每次只绘制变化的部分,提高运行效率并降低功耗。
在IM287A的Linux系统上,Qt打开一个窗口需要3秒以上,AWTK则瞬间以超过40FPS的动画打开窗口(如果使用3FB,可以轻松达到60FPS)。
>>>>
4、具有TouchGfx/Embedded Wizard的酷炫
支持现代GUI常见特性:
窗口动画
支持平移、弹出、缩放和淡入淡出等动画。
控件动画
支持移动、缩放、翻转、值变化和淡入淡出等动画。
动画支持缓动作效果
支持加速、减速和弹跳等数十种效果,亦可以自定义想要的效果。
支持滑动
ListView/SlideView/Selector/Switch等控件支持滑动效果。
支持游戏引擎常见功能
帧动画、骨骼动画(TODO)和粒子效果(TODO)。
主题支持全局和窗口两种方式
轻松定制控件的外观效果,而无需要改变系统的主题。
分离界面描述文件
开发时采用XML格式描述,运行时编译成二进制格式。分离界面方便了开 发,而又无运行时的开销。
>>>>
5、稳定
通过良好的架构设计和编程风格、单元测试、动态(valgrind)检查和Code Review保证其运行的稳定性。
>>>>
6、完全开源,商用免费
开放全部源码
商业应用免费
没有阴谋,放心使用,不要想多了。但我们会为ZLG集团的客户提供更好的服务和支持。