PicoGUI——开源的便携灵活的GUI项目
PicoGUI 是一个小型的,便携的用户/服务器GUI,为工作于很多种类的硬件设备而设计,包括手持电脑。和X Window系统相似,有灵活的用户服务器架构;但是又不完全类似X Window系统,字体,位图,窗口部件还有其他的应用程序所需都直接构建在服务器里。为了提高速度和大大减小尺寸,不得不牺牲一些灵活性。
综观PicoGUI架构
- 窗口部件和网页渲染引擎直接构建在服务器里,减小了库和执行功能的体积
- 用户/服务器架构——联结应用软件和服务器,通过为网络透明度设计的TCP/IP建立服务器和输入设备之间的联结
- 标准件——在编译中,视频,输入和网络子系统可以相互切换
- 目标是既有X-Windows的灵活又有Palm OS的简单和速度
架构
和X Window系统相似,有灵活的用户服务器架构;但是又不完全类似X Window系统,字体,位图,窗口部件还有其他的应用程序所需都直接构建在服务器里。为了提高速度和大大减小尺寸,不得不牺牲一些灵活性。但是由于有类似标准用户接口,强势的主题和标准件驱动,它又比其他的小的GUI更加灵活
尺寸
PicoGUI的ELF 文件格式的binaries大小基本上在100KB左右。这包括服务器,字体还有所有其他重要的数据。在编译时很多东西可以禁用可以开启,这对大小的影响还是很明显的。Theme的尺寸基本上看他所包括的位图。类似Aqua这样的典型主题一般20KB。如果执行了压缩位图,尺寸可能会更小。PicoGUI应用软件所用的用户库大概有1000行代码,编译之后大概6K
内存封装
和PicoGUI的CPU使用类似,大部分内存使用量依赖于应用中的视频驱动。但是PicoGUI服务器自身的内存使用很容易测量。没有装载主题时,它使用5K内存(很多是为了鼠标的缓存)。没有任何主题时,一个demo应用程序使用13K内存。如果使用了demo应用软件并装载了Aqua主题,需要42K内存。