论文部分内容阅读
随着休闲经济的兴起和手机立体娱乐时代的到来,手机Flash动漫正逐步在全球形成一种产业,并被视为最有潜力的无线增值业务。目前一些高端手机上已经配置了Adobe公司提供的Flash Lite,能流畅播放Flash动画。但是在中低端手机上,由于成本、资源受限等原因使得播放Flash动画存在性能瓶颈的问题。本文面向中低端智能手机,主要从三个方面研究Flash矢量动画渲染的关键技术,以有效提升Flash动画播放性能。论文主要研究工作如下:1针对Flash渲染流水线光栅化之前进行的曲线分解过程存在精度与速度之间难以平衡的问题,研究提出一种启发式的曲线分解算法。算法结合曲线长度与曲率两种因素,通过计算贝塞尔曲线的两个端点与两个控制顶点之间的连线的距离与夹角,求出曲线分解步数。实验表明,算法的复杂度低,细分生成的直线段精确的拟合了曲线。2针对传统反走样算法存在计算量大和取样精度不高,不能适应现代显示设备亮度等级越来越高的问题,提出了一种亚像素精度的区域采样反走样算法。算法通过位运算快速计算像素的覆盖面积,并且像素亮度等级可达到2n(n为亚像素位数,通常情况n取8)。与现有反走样算法相比,在算法复杂度不增加的情况下,新算法运算速度快,生成图像更加细腻,并适用于没有浮点数硬件运算的嵌入式设备。3针对Flash文件中路径每条边具有的两种填充类型不能一次填充完毕,以及视频连续性原理提出了一种一遍遍历填充的策略与各种缓存策略。它根据Flash中Shape节点不相交的特点,将路径连接成一个封闭区域后进行光栅化,实现一次填充完毕;根据Flash节点的连续性与视频的连续性,在流水线各个层次上缓存已生成的结果,避免了重复计算,因而有效地提升了渲染速度。本文开发的Flash播放器运行在夏新E600低端智能手机(主要性能指标为:CPU主频为312M、系统RAM 64M、分辨率240×320像素)上可以较流畅的播放Flash文件,帧率为12帧/秒,验证了上述成果的有效性。