掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明属于计算机图形软件开发技术领域,具体涉及动态调整LOD Scale的图像显示优化方法及装置。

背景技术

LOD(Levels of Detail)为Clark学者提出的细节层次模型,它是指对场景中的不同物体或物体的不同部分采用不同细节描述的方法。具体来说,LOD技术能够根据物体的模型节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。细节层次模型能够做到当用户视点离物体较近时,能观察到模型的细节,当用户视点逐渐远离模型时,观察到的细节逐渐模糊。细节层次模型可以避免因绘制意义相对不大的细节而造成的时间浪费,从而提高复杂场景的生成和显示速度。细节层次模型在交互式可视化、虚拟现实等领域均得到了广泛的应用。

在大规模图形渲染过程中,模型需要根据视距和模型复杂度等因素进行LOD细节层次处理。但在传统的静态LOD模式下,无论渲染性能是否过剩,细节层次都只能根据预先设定的LOD Scale进行细节层次显示。由此,当渲染场景中的顶点和图形数据过多时,会导致显示的帧率低于指标要求;而当渲染场景中的顶点和图形数据较少时,则会导致渲染性能过剩,帧率远高于指标要求,但却不能把多余性能用于提高渲染细节,从而造成性能的浪费。对于图形渲染能力相对较弱的国产硬件平台,此类问题尤为突出。

发明内容

有鉴于此,本发明提供了动态调整LOD Scale的图像显示优化方法及装置,能够优化具有特定帧率指标要求的系统的图像显示效果。

本发明提供的动态调整LOD Scale的图像显示优化方法,具体包括以下步骤:

步骤1、根据系统帧率的指标要求,设定系统帧率可取值的最大值FR

步骤2、获取系统的当前帧率fr,若fr>FR

若fr<FR

若FR

步骤3、停止调整,结束本流程。

进一步地,所述图像显示优化方法还包括以下步骤:

步骤2.1、初始化数组SC,所述数组SC的元素为显示细节所对应的取值,所述数组SC的元素编号与Scale值对应;所述数组SC[i],i为数组的编号,且i<N,N为所述数组SC[i]的长度;

步骤2.2、获取系统的当前帧率fr,若fr>FR

步骤2.3、获取当前图像的当前显示细节,将所述当前显示细节与数组SC[i]中的元素逐一比较:

当遍历到最后一个小于当前显示细节且与当前显示细节差值最小、同时之后的元素均不为0的元素时,停止遍历,将所述元素的编号记为n;若(n+1)<N,则Scale值s为

当遍历到与当前显示细节相同的元素时,停止遍历,将所述元素的编号记为n,则Scale值s为

当遍历到最后一个小于当前显示细节且与当前显示细节差值最小、同时之后的元素均为0的元素时,停止遍历,将所述元素的编号记为n,则Scale值s为

步骤2.4、获取系统的当前帧率fr,若fr>FR

若fr<FR

若FR

步骤2.5、将当前显示细节作为第i=(s-1)*10个元素存入数组SC中。

进一步地,所述S

进一步地,所述Scale的增大或减小的步进设为0.1。

本发明提供的动态调整LOD Scale的图像显示优化装置,包括帧率监控模块、Scale调整模块及图像渲染模块;

其中,所述帧率监控模块,用于获取系统当前的帧率取值,并根据系统帧率的指标要求设定系统帧率的最大值FR

所述Scale调整模块,用于设定Scale值s的最大值S

所述图像渲染模块,用于根据从所述Scale调整模块接收到的Scale取值作为LODScale渲染图像。

进一步地,所述Scale调整模块调整Scale的取值的方式为:当fr>FR

进一步地,所述FR

进一步地,所述图像显示优化装置还包括调整学习模块,所述调整学习模块,用于根据所述Scale调整模块的调整结果维护Scale值、帧率及显示细节之间的对应关系;所述对应关系以数组SC的方式存储,所述数组SC元素的序号对应Scale的取值s,所述数组SC元素的取值对应显示细节的取值,数组的最大长度为N。

进一步地,所述Scale调整模块调整Scale的取值的方式为:

当fr>FR

当遍历到最后一个小于当前显示细节且与当前显示细节差值最小、后续元素均为0的元素时,停止遍历,将所述元素的编号记录为n,以

有益效果:

1、本发明根据获取到的系统性能及场景细节,动态调节渲染过程中的LOD Scale以确保帧率能够满足确定的指标要求,即当系统负担过高时用显示细节换取更好的性能,而当系统性能过剩时能够更加充分地利用性能增强显示细节,提升渲染质量。

2、本发明通过预先学习确定LOD Scale、帧率和显示细节之间的关系,进一步降低了渲染过程中系统的性能开销。

附图说明

图1为本发明提供的动态调整LOD Scale的图像显示优化方法的流程图。

图2为本发明提供的动态调整LOD Scale的图像显示优化方法的监控学习流程图。

图3为本发明提供的增加学习过程的动态调整LOD Scale的图像显示优化方法流程图。

图4为本发明提供的动态调整LOD Scale的图像显示优化装置的结构图。

图5为本发明提供的增加了学习模块的动态调整LOD Scale的图像显示优化装置的结构图。

具体实施方式

下面结合附图并举实施例,对本发明进行详细描述。

为便于理解和界定本发明所涉及的技术内容,对发明内所涉及的名词作如下说明:

图像的显示细节是指计算机系统用于显示图像的特征元素。特征元素,包括顶点数、图元数、线段数及几何图形数等。例如,计算机系统中的图像通常由许多顶点组成,渲染场景越大则说明图像中所包含顶点数量越多,渲染的细节也就越多,同时系统也就需要消耗更多的性能资源来处理这些顶点,反之亦然。

LOD Scale是指图像渲染过程中LOD的细节比例尺参数,Scale值越大则单位长度内图像的显示细节越少,渲染数据量也越少,反之亦然。

帧率也可称为帧频率,是指以帧为单位的位图图像连续出现在显示器上的频率,该术语同样适用于胶片和摄像机,计算机图形和动作捕捉系统。

本发明提供的动态调整LOD Scale的图像显示优化方法及装置,其核心思想是:根据当前系统性能及待渲染场景的显示细节,动态调整LOD Scale的取值,以保证帧率满足确定的指标要求。

本发明提供的动态调整LOD Scale的图像显示优化方法,流程如图1所示,包括以下步骤:

步骤1.1、根据系统帧率的指标要求,设定系统帧率可取值的最大值FR

步骤1.2、获取系统的当前帧率fr,若当前帧率大于最大值,即fr>FR

步骤1.3、按照设定的步进减小Scale的取值,若当前Scale的取值不小于最小值S

步骤1.4、按照设定的步进增大Scale的取值,若当前Scale的取值不大于最大值S

步骤1.5、停止调整,结束本流程。

上述过程中,根据实验经验通常设定S

上述过程中,可能会出现由于微调所导致的LOD Scale调整过于频繁的问题,这会增大渲染过程的性能开销。由于显示细节与帧率有很高的相关性,且是导致帧率变化的重要因素,因此,为了解决上述问题,本发明增加了预先学习Scale值与帧率及显示细节之间对应关系的过程,即在学习过程中记录每次微调Scale取值后Scale值与显示细节之间的对应关系,在实际应用中,若帧率低于指标要求或高于指标要求,则根据监测到的当前帧率值查找记录的对应关系确定对应的Scale值,并将以该Scale值进行渲染,无需再次微调,从而有效地降低了由于微调所导致的性能开销。

具体来说,预先学习Scale值、帧率及显示细节之间对应关系的过程,如图2所示,包括以下步骤:

步骤2.1、初始化数组SC,数组SC用于存储Scale值及与该Scale值对应的显示细节,这里的Scale值为能够使帧率fr满足条件FR

由于根据经验确定的Scale值s的取值范围为1≤s≤4,步进为0.1,因此数组SC是长度为31的数组。例如,SC[1]=10,其中,SC[1]对应的s值为s=1+1/10;而元素SC[1]的元素值为10,表示当s取值为1.1时,场景中具有10个顶点,且此时的帧率fr能够满足FR

步骤2.2、监测系统帧率取值,如果当前帧率小于或等于最大值且大于或等于最小值,即FR

步骤2.3、若当前帧率小于最小值,即fr<FR

若当前帧率大于最大值,即fr>FR

步骤2.4、停止调整Scale的取值,同时获取当前场景的显示细节,并将该显示细节对应数值存入SC[i],其中,i为数组SC中元素的编号,且i=(s-1)*10,i的最大值为N。由此,对于具有当前显示细节的场景将Scale的取值设定为i则可以使帧率满足要求。

实施例一:

假设当前场景的图像中实际有10个顶点且Scale值为1时,帧率即可满足指标要求。当用户把场景移动到复杂的图像时,场景的内容变多,当前场景中的顶点数增加到20个,帧率也会随之下降。通过微调Scale的值,即可发现当将Scale值提高到2后,渲染细节会相应降低顶点数降低到10个,这样帧率即可满足指标要求。由于,此时顶点的实际数量是20个,Scale为2,因此,将数组SC[i]中第(2-1)×10=10个元素的值设置为20。

增加了预先学习Scale值、帧率及显示细节之间对应关系的过程的动态调整LODScale的图像显示优化方法,如图3所示,具体包括以下步骤:

步骤3.1、根据系统帧率的指标要求,设定系统帧率可取值的最大值FR

步骤3.2、获取系统的当前帧率fr,若当前帧率大于最大值或小于最小值,即fr>FR

步骤3.3、获取当前场景的当前显示细节,将当前显示细节与数组SC[i]中的元素逐一比较:

当遍历到最后一个小于当前显示细节且与当前显示细节差值最小的元素,同时该元素后的元素均不为0时,停止遍历,并将该元素的编号记录为n;若(n+1)<N,则当前应当设置的Scale值s为

当遍历到与当前显示细节相等的元素时,停止遍历,并将该元素的编号记录为n,则当前应当设置的Scale值s为

当遍历到最后一个小于当前显示细节且与当前显示细节差值最小的元素,同时该元素后的元素均为0时,则停止遍历,并将该元素的编号记录为n,以

步骤3.4、获取系统的当前帧率fr,若当前帧率大于最大值,即fr>FR

步骤3.5、按照设定的步进减小Scale的取值,若当前Scale的取值不小于最小值S

步骤3.6、按照设定的步进增大Scale的取值,若当前Scale的取值不大于最大值S

步骤3.7、将当前显示细节作为第i=(s-1)*10个元素存入数组SC中。

步骤3.8、停止调整,结束本流程。

根据本发明提供的动态调整LOD Scale的图像显示优化方法,本发明设计了动态调整LOD Scale的图像显示优化装置,装置的结构如图4所示,包括帧率监控模块、Scale调整模块及图像渲染模块。

其中,帧率监控模块,用于获取系统当前的帧率取值,并根据系统帧率的指标要求,设定系统帧率可取值的最大值FR

Scale调整模块,用于设定Scale取值的最大值S

调整Scale的方式为:当fr>FR

图像渲染模块,用于根据从Scale调整模块接收到的Scale取值作为LOD Scale进行渲染。

在此基础上,为了降低渲染过程的性能开销,本发明在上述动态调整LOD Scale的图像显示优化装置中增加了调整学习模块,并优化了Scale调整模块,如图5所示。

其中,调整学习模块,用于维护Scale值、帧率及显示细节之间的对应关系,在Scale调整模块的调整过程中建立上述对应关系。对应关系可采用数组的方式进行存储,数组元素的序号对应Scale的取值s,数组元素的取值则对应显示细节的取值,数组的最大长度为N。例如,根据经验确定Scale值的取值范围为1≤s≤4,调整步进为0.1,此时数组SC是长度为31。其中,SC[1]对应的s值为s=1+1/10,SC[1]的元素值为10,表示当s取值为1.1时,场景中具有10个顶点,且此时的帧率fr能够满足FR

Scale调整模块,用于设定Scale取值的最大值S

调整方式为:当fr>FR

当遍历到最后一个小于当前显示细节且与当前显示细节差值最小的元素,同时该元素后的元素均为0时,则停止遍历,并将该元素的编号记录为n,以

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 动态调整LOD Scale的图像显示优化方法及装置
  • 动态调整LOD Scale的图像显示优化方法及装置
技术分类

06120113146988