摘要:为了比较直观的看到 AWTK 的基本性能,我们对产品开发者比较关心 GUI 的一些参数做了测试,如界面刷新帧数、启动时间等。让我们从参数上直观了解 Linux 下 AWTK 与 Qt 的性能对比。

 

一、测试条件

    开发板:EPC-6G2C-L

 

    处理器:Freescale I.MX6UL(cortex-A7 内核)

 

    主频:528MHz

 

    内存:128MB DDR3

 

    系统:AWorks/Linux

 

    GUI 框架:AWTK

 

    屏幕:480x272,16 位色

 

二、测试范例

本文选取 5 个 AWTK 的 Demo 程序进行测试,每个范例所用控件如表 2.1 所列。

 

表 2.1 AWTK 测试范例和所用控件

 

三、测试方法

先在 AWorks 系统下分别测试 AWTK 的 Debug 版本和 Release 版本,进行 AWTK 自身对比,然后在 Linux 系统下测试 AWTK,与 AWorks 平台进行简单对比,对比 AWTK 跨平台表现,最后在 Linux 下,找几个功能接近、用到的控件也接近的 Qt 范例进行粗略对比。

    

测试项因为受到平台限制,AWorks 与 Linux 上会有些差异。大体测试包括帧数、内存拷贝速度、AWTK 界面启动时间、内存占用和 CPU 使用率等。

 

四、测试结果

1.    AWorks 系统下 Debug 版本

Debug 版本测试结果,详见表 2.1。

 

表 2.2 Debug 版本测试结果

 

2.    AWorks 系统下 Release 版本

Release 版本测试结果,详见表 2.2。

 

表 2.3 Release 版本测试结果

 

说明:

 

    AWTK 启动时间:指的是在程序从执行 main 函数开始到打开界面所需要的时间。

 

    整体启动时间:指的是将程序烧写开发版后,从上电到打开界面所需要的时间。

    

无论是 Debug 版本还是 Release 版本,AWTK 界面的启动时间都是很短的,都在 15ms 以内,对比两个版本,可以看到 Release 版本明显提升。

 

3.    Linux 系统下 Release 版本

为了对比 AWTK 在 Linux 下的表现,将这几个范例交叉编译运行,相关测试结果如表 2.4 所列。

 

表 2.4 Linux 下 AWTK 测试结果

 

说明:内存占用和 CPU 占用分别来源于 top 命令结果的 VSZ%和%CPU。

    

可以看到,在 Linux 下,AWTK 的表现也是很不错的。

 

4.    与 Qt 对比

为了对比 AWTK 与 Qt,我们找了几个功能接近、使用到的控件也比较接近的范例,进行了测试,用于进行简单对比,测试结果如表 2.5 所列。

 

表 2.5 Qt 范例测试结果

    

选取的 Qt 范例功能比 AWTK 范例的简单很多,复杂度也小很多。但对比之下,AWTK 和 Qt 的范例,可以看到 AWTK 应用启动时间明显快于 Qt,动态情况下,CPU 占用率也相对较小。

 

五、AWTK 测试范例

本文所用的 AWTK 测试范例,均可从下面的链接下载获取:

 

https://github.com/zlgopen/awtk-exampleshttps://github.com/zlgopen/awtk-examples