论文部分内容阅读
网页发展初期,HTML只是一些静态内容,随着计算机互联网的飞速发展,HTML的变化也非常迅速,网页变得相当的复杂。在引入Javascript等脚本语言之后,HTML提供了可以与人们互动的内容。现如今引入了更加强大的HTML5,通过新加入的canvas标签,可以在网页中绘制二维图形,使得网页的内容更加丰富。WebGL的出现,实现了开发人员可以通过浏览器内部实现3D图形的渲染以及硬件加速,从而能够在网页上操控呈现3D图形,也可以基于Web GL开发更多的网页3D图形程序。WebKit在3D图形上下文中提供了一组接口,这些接口提供了OpenGL ES的功能,使得浏览器具备了OpenGL的3D图形处理的能力,WebGL通过了OpenGL ES与Javascript的绑定,WebGL可以实现对HTML5的Canvas标签的硬件加速渲染。由于GPU的绘制图形的能力特别强,性能非常好,在绝大多数的智能终端,GPU能够专门处理大量的图形绘制的计算任务,WebGL通过GPU的硬件能力来帮助渲染网页,通常是并行化的,从而可以在浏览器内部快速的处理大量图形数据,与软件渲染不同的是,通过GPU绘图不只是计算其中更新的区域。在本文中,通过了对WebKit硬件加速机制以及WebGL 3D场景渲染的研究,提出下面两种针对性的研究方案。首先通过对WebKit浏览器内核以及硬件加速机制的研究,提出了基于WebKit内核浏览器的3D硬件加速渲染的优化方案。同时,为了提升WebGL在各个平台的兼容性,规范化类型数组,实现新类型直接映射到C数组,允许JavaScript程序通过3D上下文实现类直接调用OpenGL ES 2.0 API。其次,本文提出了在具有多个GPU的情况下利用NVIDIA的SLI和CUDA技术,实现了通过WebGL使用多GPU和多线程并行化渲染3D场景。优化了3D场景转换计算,同时,使用box-counting和负载均衡算法,将3D图形渲染的计算任务合理的分配到两个GPU中,充分发挥两个性能有差异的GPU的性能。提出了一种应对Web大规模3D场景变换应用的优化方法。