COLF项目简介(二)

APP版本

此次评估的是“单app版本”。此版本把多app窗口操作系统相关的功能(桌面、app切换器,针对多app的窗口管理器等)给裁剪掉了。

功能方面

评估出来的各项指标如下:

评估项

评估结果

字体

支持矢量字体,点阵字体

图片格式

支持jpeg/png

UI

所有常见的UI控件:

TextScrollTextImagePixmapButtonIconViewListView

LineEditMsgBoxProgressBarRadioButtonRadioButtonGroup

个性化UI

COLF里所有的UI元素都是用图片来作为背景跟前景,非常好的支持了高度个性化的UI开发

其它

COLF拥有一些激动人心的、自己独创的,堪称先进的理念和实现。目前这些独创的理念还不方便对外透露。

总之,COLF提供了一个优秀的控制中心,以及开发具体APP的机制,如果你要做面向具体领域的具体应用,你可以从开源社区(或其它渠道)取你需要的API,在控制中心的调度下,实现你的APP。往往API的获取并不是开发的关键,因为你总是能通过各种渠道(比如开源社区、上游厂商等渠道)得到各种各样的API,问题的关键在于各种各样的API摆在你面前,你怎么把这些API集成起来形成一个APP,甚至形成一个大的系统,如何集成API往往才是问题的关键。

你可以用COLF来开发多媒体应用、网络通信应用、数据库应用、控制系统(机器)等等。

 

性能方面

评估出来的各项指标如下:

评估项

评估结果

CPU

大约最低需要单核700M

ROM

(在未使用编译器任何优化选项的情况下编译)仅占用1.3MB(只依赖glibcc++标准库,不依赖其它任何库),这是全功能的大小,如果有些功能不需要,可以裁剪掉,ROMRAM占用会更小

RAM

核心库占用2200KB3MB,对于一个具体app,其中图形部分占用的RAM总大小(峰值)取决于如下因素(根据COLF的设计原理):

1、图形层的分辨率,色深

2、使用的图片数量、大小、色深

3、App中控件的种类和数量

我举两个例子,来计算具体场景下的峰值:

假定图形层分辨率是800*600,一个像素占用3个字节,

如果某app使用了3800*600的图片,则图形部分整体占用的RAM8.5MB左右,如果使用4,整体占用在9.5MB左右

假定图形层分辨率是1280*720,一个像素占用4个字节,

如果某app使用了31280*720的图片,则图形部分整体占用的RAM17MB18MB左右,如果使用4,整体占用大约在20MB21MB

 

另外,(COLF的现行设计)并没有采用“以时间来换空间”的设计。如果SOC的图形硬件够强大,支持jpeg/png硬件解码,COLF可以“用CPU时间来换RAM空间”,以减少RAM占用的峰值。如果以时间来换空间,RAM占用将和app使用的图片数量没有关系。我将上述两个例子再次估算,,来计算具体场景下的峰值如下:

假定图形层分辨率是800*600,一个像素占用3个字节,则无论app使用多少张图片,图形部分整体占用的RAM5MB左右

假定图形层分辨率是1280*720,一个像素占用4个字节,则无论app使用多少张图片,图形部分整体占用的RAM9.5MB~10MB左右

你可能感兴趣的:(linux,OS,嵌入式,窗口系统,app开发框架)