论文部分内容阅读
随着智能手机、平板电脑等消费电子产品的飞速发展,运行在此类设备上的智能操作系统也越来越受到人们的关注。由Google公司推出的Android智能操作系统具有强大的功能和丰富的应用,迅速得到了市场的认可。图形系统是Android系统的重要组成部分,它的显示效果和处理速度将会最终影响用户体验。然而原生Android图形系统完全由软件计算实现,性能已经越来越难以满足用户日益增长的需要。本文利用硬件加速模块,对原生Android图形系统进行设计和优化,有效提高了Android系统的性能。
在详细分析原生Android图形系统的基础上,基于自主研发的SEP6200处理器(采用UniCore32内核),对原生Android图形系统框架进行了改进。新的框架在原有基础上实现了物理内存模块(PMEM)、图形显示内存分配模块(Gralloc)、块拷贝模块(Copybit)和图形处理单元驱动(GPU驱动)四个模块,并加入了Skia图形库到GPU驱动的调用这一条路径。本文通过PMEM模块,将操作系统内存的最后一段空间设为独立显示内存,为硬件加速模块提供了大块物理连续的地址。针对SEP6200处理器,对原厂提供的GPU驱动进行了优化,使得硬件加速模块的性能得到充分利用。在Gralloc模块中使用了简易最优匹配内存分配策略,对图层所在内存的分配和回收进行了管理。通过实现Copybit模块所提供的硬件加速接口,完成了数据拷贝、裁剪、旋转、混合、拉伸等多种图形操作的硬件加速。本文还对Skia图形库进行了优化,以矩形搬运为例实现了Skia图形库到GPU驱动的调用。
在课题硬件平台上测试了本文所改进的新的图形框架性能,实验结果表明:Linux内核层中GPU驱动在优化后相比于原厂所提供的GPU驱动,图形绘制性能平均提升幅度达到2.29倍;相比于无GPU驱动的情况,图形绘制性能平均提升为原来的7.88倍。本地框架层中Copybit模块的加入,使得Android系统图形绘制性能平均提升幅度达到2.35倍。Skia图形库优化后,矩形搬运函数所需时间缩短为原来的1/9。根据测试结果,本文硬件平台的图形测试结果可以达到同类主流硬件平台水平。