科学与财富0引言近年来,随着计算机图形软硬件技术的提高及人们对绘制效果的要求越来越高,计算机图形学研究和应用呈现出场景对象越加复杂,对绘制真实感的要求越来越高,显示分辨率不断递增,模型趋于复杂化,数据精度要求较高等问题。
基于此提出了提高绘制性能的主要途径:GPU加速技术,并行绘制技术,可见性剔除技术,网格简化技术,多分辨率绘制技术,存储访问优化技术,基于图像的绘制技术,图像和网格压缩技术,基于预计算的绘制技术等。
对于计算机硬件性能的不断提高,存储访问带宽与计算能力的差距越来越大,因此缓存访问效率成为影响应用程序运行效率的关键因素。
而要改善缓存的性能有以下几种方法:①降低缓存访问失配率;②降低失配损失;③通过并行技术降低失配率或是失配损失;④减少命中缓存的时间。
降低缓存访问失配率,可以从提高缓存硬件性能与编译优化等方面来解决,其原理是:通过调整指令顺序和数据的使用顺序,增强代码和数据使用的时间局部性和空间局部性特征,从而提高缓存命中率。
体系结构方面,通过缓存硬件性能来提高缓存访问效率。
应用程序方面,采用编译优化不需要修改或者增加硬件,可分为计算重排和数据重排。
计算重排,根据重新排列指令顺序,提高访问相同数据单元指令的局部性,通常由编译器对应用程序编译后的指令序列进行重排来完成,对于指令,重新组织程序而不影响程序的正确性。
数据重排,根据指令对数据单元的访问方式求解出缓存连贯的数据排布,由应用程序直接对数据进行重排来完成,通过优化改善了数据的空间局部性和时间局部性[1]。
目前网格排布优化技术是计算机图形学与可视化领域的重点研究方向之一,该技术基于数据重排,通过对网格图元的存储顺序进行重新排序,能够减少平均缓存访问失配率,提高大型三维网格模型和大规模虚拟场景的处理和绘制性能。
2网格排布优化技术顶点缓存的访问性能通常用平均缓存失配率(ACMR)来衡量,定义为绘制每个三角形的平均缓存失配次数,即缓存的总失配次数与总访问次数之比,ACMR的取值范围为[0.5,3.0],因为每个顶点至少失配一次,至多失配三次。
需要注意的是,ACMR无法达到最小值,主要是因为顶点缓存区容量的限制。
若顶点缓存区可以装下所有顶点,则以任何方式组织的三角形都可以使ACMR接近于0.5。
但是缓存容量很小,很难装下所有的顶点,并且网格的形状也会导致ACMR额外的开销。
2.2.1网格排布优化方法的分类网格排布优化技术是图排布理论的应用与引伸,根据不同的划分方式可以将网格排布优化技术分成不同的类。
根据求解技术手段的不同,网格排布优化技术可分为基于优化策略、基于空间填充曲线和基于谱序列三类[1],现代的GPU使用一个小的缓冲区来存储最近需要访问的顶点,为了最大化的利用好顶点缓存用于快速渲染的优点,对三角形进行重排序是必要的,基于优化策略即使用了这一优点。
基于空间填充曲线是对二维或者三维规则网格单元的一种具有较好空间局部性的特殊线性遍历方法,是在某种程度上保留局部相关性的多维网格单元遍历。
基于谱序列方法是通过特定的线性算子推导出相关的特征性、特征向量以及特征空间投影,并利用这些特征量和组合求解出问题。
因为谱序列是求解图排布问题的一个有效引导策略,所以也可以应用到网格排布技术中。
根据网格描述方式的不同,可分为基于三角形、基于三角形条带、基于三角形扇[3],或者简单分为基于条带和基于非条带两种方式,每种描述方式又可分为索引形式和三角形汤形式。
三角形扇和三角形条带类似,但是不如三角形条带灵活,所以很少使用。
索引形式只需少量数据,传输代价小,使之成为目前使用最为普遍的方式,但顶点随机读取也带来了ACMR的增加。
因此许多研究者提出对网格图元的存储顺序进行重新排布,可以减小ACMR,降低顶点处理的运算量,提高渲染速度。
2.2.2三角形排布优化算法的介绍为提高网格模型的处理和绘制性能,现代图形卡使用顶点缓冲器来提高顶点缓存命中率,使模型在绘制过程中减少发送的顶点数据。
有效利用顶点缓冲器,在已有的图形绘制流水线基础上,通过重新排列网格模型图元的线性序列,增加缓存中顶点的命中率。
下面对国内外几种常见的相关算法做一个简要的介绍。
Hoppe(Hoppe.1999)提出了一种贪心条带算法生成三角形序列[4],该算法是基于优化策略和三角形条带的研究,核心思想是沿着逆时针方向生成条带,进行三角形条带合并,在合并的过程中不断检测预期的ACMR。
此算法针对一个预先指定的缓存大小,比如16,对算法进行优化求解,使用FI-FO策略对三角形进行重排,采用了三角形条带索引模式。
Hoppe算法可以得到很低的平均缓存失配率,其运算时间复杂度高于O(m),该算法也存在一些待解决的问题,在网格的顶点索引中很难确定三角形的拓扑方向,对可能合并入条带的三角形进行ACMR的预估会增加算法的复杂度。
Bogomjakov等人(2002)提出的面向具有任意大小的FIFO缓存的通用序列构造算法(称为BoG算法)[5],是一种最具代表性的空间填充曲线。
该算法把Hilbert空间填充曲线和MLA空间填充曲线的应用推广到不规则三角网格,使用图划分软件包Metis将网格分成多个三角形簇,保证每个簇内三角形序列的ACMR最优,从而形成整个网格的ACMR最优化。
该算法在相同缓存参数前提下,AMCR指比Hoppe算法增大20%左右,分割的切割边上的失配率对整体失配率有影响。
Lin等人(Lin and Thomas.2006)算法则是基于贪心优化策略的3D渲染多边形网格序列生成算法[6],该算法适用于非条带三角形的排布优化,可以应用于渐进网格,应用启发式条件对网格顶点进行全局搜索,同样可以得到很低的平均缓存失配率,其运算时间复杂度也高于O(m)。
核心思想是赋予每个顶点一个缓存访问代价度量,选择代价度量最小的顶点作为当前输出顶点,找到与该顶点邻接的所有未输出三角形,按顺时针方向访问并逐一将这些三角形的顶点压入缓存中,最后以三角形环为单位逐一输出三角形,并在整个网格中对下一个需要输出的三角形环进行全局最优性搜索。
Nehab等人(Nehab et al.2006)提出了一种多功能三角形序列重排算法[7],该算法不仅能减少顶点缓存的平均缓存失配率,而且能减少图元的重绘率(通过深度测试的片元总数与最终可见的像素总数之比),作者首先提出通过局部优化减少顶点处理时间,同时通过三角形序列重排减少像素处理时间是自相矛盾的,原因是基于视点的深度排序会毁掉顶点缓存性能,且局部优化会导致当前视点下的高度透支。
基于此提出了基于优化策略的多功能三角形序列重排算法,实现两者之间的融合。
Sander等人(Sander et al.2009)对Lin等人算法进行了改进,使三角形排布适用于动态模型[8]。
其核心思想是以顶点在缓存中的位置作为代价度量,选出代价度量最小的顶点作为当前顶点,即以三角形环作为计算单位,然后输出与该顶点邻接的所有未输出三角形(随机访问),与Lin等人算法基于三维网格模型的网格排布优化技术综述娄自婷(云南师范大学信息学院,云南昆明650500)摘要:网格排布优化技术通过对网格图元的存储顺序进行重新排序,能够减少平均缓存访问失配率,提高大型三维网格模型和大规模虚拟场景的处理和绘制性能。
文中综述了网格排布优化技术的研究进展,分析比较了基于优化策略、基于空间填充曲线和基于谱序列的网格排布优化方法。
关键词:三维网格模型,网格排布优化;ACMRA Survey of mesh layout optimization for3D mesh modelsLOU Ziting(College of computer science and information technology,Yunnan Normal University,Kunming City Yunnan Province650500,China) Abstract:The mesh layout technology through storage order of the mesh primitive reorder,can reduce the average cache miss rate and improve the process-ing and rendering performance of large3D mesh models and large-scale virtual scene.This paper gives an introduction to advances in technology mesh layout optimization.We analyze and compare the mesh layout optimization method based optimization strategy,space-filling curve and spectral sequences.Keywords:3D mesh models,Mesh layout optimization;ACMR科学论坛536科学与财富遥控电动机驱动传动轴转动,带动履带和遮阳布一起运动,遮阳布从汽车尾翼内被拉出,首先遮挡住后风挡玻璃,继续向前拉动遮阳布,然后遮挡住车顶,继续拉动遮阳布,然后遮挡住前风挡玻璃,最后将遮阳布前端的铁质楔形封口卡吸在前风挡的磁性卡条上。
图2.2板状履带收纳式汽车遮阳器2.1.3滚筒式传动滚筒式传动在汽车遮阳罩中使用频率最高,电机一般布置在滚筒内部,省去电动机额外占用的体积。
为了带动遮阳布收展,会将遮阳布缠绕与滚筒或滚轴上,电动机旋转带动滚筒旋转,从而收展遮阳布。
在汽车遮阳装置中,滚筒还常常作为传动机构中的一部分,与其他零部件配合传动遮阳主体,如在充气式遮阳装置中,滚筒的作用主要用于送出遮阳罩体部分,遮盖到车体表面上,将遮阳罩固定到车体上后,再利用风机向遮阳罩主体充气,以展开整个遮阳罩。
显而易见地,由于需要定位整个软材质的遮阳罩体到车体表面而不得不使用固定装置,充气式遮阳罩目前很难实现全自动化。
以CN104589980A为例(发明名称:一种电动卷绕充气隔热遮阳车罩,申请人:上虞市百官瑞俊电器厂),如图2.3所示,其涉及一种电动滚筒式的充气遮阳罩,包括支架基座,滚筒支架和车罩卷绕滚筒,滚筒内设置有电机、电源遥控开关控制板,滚筒与遮阳罩体活动相连,滚筒能自动收缩折叠遮阳罩体。
图2.3一种电动卷绕充气隔热遮阳车罩3.结束语本文在对汽车遮阳装置类型、市场需求与发展、收启驱动核心技术等多个角度的进行了研究和总结。
遮阳装置的发展应用有效解决了车内环境污染问题,避免使用空调带来的油料消耗和废气排放,利于环保,还可减少汽车设施老化,降低维修保养费用,延长车辆使用寿命。