COLF项目简介(三)

多进程窗口操作系统版本

此次评估的是“多进程窗口操作系统版本”。此版本包含了多app(多进程)窗口操作系统相关的功能(桌面、app切换器,针对多app的窗口管理器等)。

在raspberry pi上进行测试,我把所有进程都绑定到一个cpu核心(cpu0)上进行了测试,模拟了单核心900M的情况,在频繁操作COLF的情况下,cpu0idle40%左右,其它3个核心均为100%idle

 

 

功能方面

评估出来的各项指标,在单app版本的基础上,又增加了如下功能:

桌面

App切换器

多进程窗口管理器

 

性能方面

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

评估项

评估结果

CPU

raspberry pi上面 ,我从0号进程开始,把系统里所有进程都绑定到了Cpu0上面,模拟只有一个核心(单核900M),进行了测试。跑了COLF之后,在频繁操作COLF的情况下,cpu0 idle大约在40%多进程窗口操作系统很流畅,而android跑在上面特别的卡,形成了鲜明的对比。

ROM

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

RAM

整个窗口操作系统需要占用32MB~34MB(COLF也是刚做出来,还有优化的空间)

如果要增加APP,具体APP占用的RAM请参考“单APP版本”

 

创新点

COLF本身的一些特性):

1、从上述评估可以看出,COLF非常的精简(请参见“性能评估”)。这一点不像现有技术比如QT或者android,冗余非常的多,非常臃肿,需要费力裁剪,甚至费尽心力裁剪却仍旧达不到自己的目标,只好去向官方购买昂贵的技术支持服务。我说的形象一点,QT的图形部分裁剪到3M的时候就已经完全不可用了,而COLF实现了全部的图形控件(全功能未裁剪)的情况下也就才占用1.3MB(并且未使用任何编译器的优化选项),COLF项目在3M多不到4M尺寸的时候,已经实现了一个完整的多APP窗口操作系统(类似android的操作习惯)。可想而知QT里面的冗余有多么严重。何止QT,现在很多开源软件都是像QT这样依靠高度的冗余来赚钱,高度的冗余却又缺乏定制能力,客户只好向官方购买昂贵的技术支持服务。

2、 比现有技术比如QTandroid节约大量RAM占用(请参见“性能评估”)。这一点对于硬件成本敏感的厂商就特别有意义,因为内存颗粒的价格差就在那里明摆着。

3、COLF提供的所有窗口、UI控件都使用图片作为背景和前景。使用现有技术也能做到所有窗口控件使用图片,使用现有技术你需要自己管理焦点状态,有焦点的时候如何绘制,无焦点的时候又如何绘制,所有的控件你都需要考虑,整体上你需要写大量代码,一不小心,焦点可能就丢失了。COLF比现有技术做的好的地方在于,你可以少写很多代码,code less&create more。你只需直接使用COLF中现成的控件,就能开发出非常个性化、美观的UI,你会少写很多代码,就能实现现有技术可以实现的效果

4、COLF可以杜绝“死机”——针对使用按键类操控方式进行操控的设备进行了特殊优化(手势识别等新兴的操控方式也属于按键类操控方式,无非是用手势产生向左键向右键等)。接着上面一个创新点继续展开,使用现有技术做自绘制UI时,你需要自己管理焦点状态,一不小心,UI焦点就丢失了。即使你不做自绘制界面,UI焦点丢失的情况仍旧会时而发生。当UI焦点丢失时,UI不再响应按键或者手势,在用户看来,就是你整个设备死机了。COLF在(无论任何原因导致)UI焦点丢失时,都可以智能寻找焦点,杜绝“死机”。

5、COLFandroid中借鉴了activity/service设计思想,这种思想非常好,但androidactivity生命周期太过于复杂,COLF只取了activity思想的精华。COLF站在了巨人的肩膀上,从开发者(用户)的角度出发,做出了更精简的设计,以方便开发者(用户)使用。

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