论文部分内容阅读
随着互联网的飞速发展,HTML5标准的提出并广泛被各种浏览器所支持,传统的基于二维图形的网络页面已经不能满足用户的视觉和交互需求。在这一趋势下,通过HTML5引入并实现的WebGL很好的解决三维图形的绘制需要插件支持和难以跨平台的问题。嵌入式设备的飞速发展,例如平板、手机和智能电视的广泛普及,使得用户渴望时刻享受到来自互联网应用的便利。因此,基于呈现容器—浏览器的对于Web应用程序的响应速度和渲染效率直接影响着用户的体验。但嵌入式设备有着匮乏的硬件资源,低功耗等特点。特别是缺乏3D图形处理器或其它相关的协处理器,对于浏览器的图形处理的优化就显得特别的必要。本文通过对现有的浏览器内核WebKit的分析,研究基于WebKit的二维图形与三维图形渲染流程。实现一种与平台和浏览器内核无关的图形库架构。WebKit通过该图形库渲染架构向不同图形引擎分发图形渲染请求。针对特定平台测试不同图形处理引擎绘制效率,利用不同图形库的各自优势指定浏览器通过该架构调用到指定的图形渲染函数,有效的提高了浏览器的渲染效率。同时运用多线程技术在特定平台上实现特定图形库的硬件加速。利用Direct FB和Skia混合渲染二维图形的方式,更加合理的利用嵌入式设备的硬件资源,优化用户的体验。另外,针对部分嵌入式平台缺乏浮点乘法处理器,而三维图形渲染中涉及大量的三角函数的计算的特点。利用CORDIC算法仅使用加减和移位运算的优势,实现正余弦函数的计算,替换需要通过级数展开计算的三角函数,优化在WebGL中的正余弦函数,避免在计算三角函数的时候使用浮点运算,降低计算复杂度,节约硬件资源,加速三维图形在浏览器中的绘制。并对比测试该改进算法的可行性。本文通过对当前热门的浏览器内核与图形库的研究分析,提出的基于平台无关的浏览器图形库架构,是利用多图形引擎实现图形渲染的一种尝试。对于浏览器或其它需要图形渲染的平台进一步设计优化具有参考和借鉴意义。同时,针对嵌入式平台特定算法的优化,为较低端的嵌入式设备实现三维图形渲染的优化,提供了一定的思路。