本发明属于图像处理,具体来说,涉及一种支持交互式稳定帧速率适应性显示策略渲染方法。
背景技术:
1、在计算机图形学中,随着google earth和nasaworldwind等三维可视化地理信息平台的发布,用个人计算机构建、显示大范围甚至全球三维地形已成为现实。目前三维地形的快速绘制算法已有很多,根据数据的结构差异,可分为基于方形规则格网(regularsquare grid,rsg)的和基于不规则三角网(triangulated irregular network,tin)的绘制算法。在地形可视化过程中,基于rsg的数据量优化研究较多,其中中国专利申请cn201910771848.7公开了保持稳定帧速率的系统和方法,公开了一种对每个gpu和由gpu生成的帧进行评估,以评估帧是否以稳定速率渲染还是将以稳定速率进行渲染。可以设置该系统为gpu提供用于渲染帧的帧时间预算。将无法满足帧时间预算的帧丢弃。如果检测到gpu未能保持帧速率(例如,丢失帧的数量超过阈值),gpu可以降低后续帧的帧质量。降低帧质量可减少gpu负载,因此允许每个后续帧满足帧时间预算,并将帧速率(即,fps)保持在稳定速率,从而增强用户体验。
2、现有专利中的缺陷在于,虽然降低帧质量可减少gpu负载,但缺乏对渲染性能参数的计算以及地形数据量的调整,导致无法在预设的帧速率区间内实现自动地控制系统的地形数据量的调整。
技术实现思路
1、针对现有稳定帧速率渲染方法无法在预设的帧速率区间内实现自动地控制系统的地形数据量调整的问题,本发明提供了一种支持交互式稳定帧速率适应性显示策略渲染方法。
2、为实现上述技术目的,本发明采用的技术方案如下:
3、一种支持交互式稳定帧速率适应性显示策略渲染方法,包括步骤:
4、s1、地形渲染,准确获取地形可视化系统的fps;
5、s2、将fps计算结果与预设fps比较,如果fps不在设定范围内,进入调整分支步骤s3,若在设定范围,进入步骤s5;
6、s3、计算系统的渲染性能参数,根据fps与数据量关系模型计算需要调整的数据量;
7、s4、数据量调整后,重新读取数据开始新一轮地形渲染周期;
8、s5、循环执行过程直至fps满足设定要求,固定渲染数据量。
9、进一步地,根据给定数据量和渲染区域中心点,动态计算rsg数据参与地形渲染的数据范围,该范围以行列表示;对渲染数据的格网单元以对角线划分,进行三角化处理构建地形;数据的动态调整过程包括:首先是根据fps解算得到的数据量进行数据行列数计算,并调整读取的渲染数据;其次在用户控制漫游情况下,伴随渲染区域中心的变化,改变读取数据范围;
10、在改变数据量的调整过程中,假设目标数据量为n个三角形,格网数量为n/2,具体数据的行列数为m,由于行列数只能取整数,则:
11、
12、式(1)为求取n/2平方根的最接近整数,因此这个操作过程会引入误差,实际读取的数据量与目标数据量的相对误差为rem:
13、
14、进一步地,缓冲数据量固定,在数据区域一侧增加/减少一行或一列数据,在另外一侧减少/增加一行或一列数据,保持内存中数据行列总数相等;如果渲染范围靠近或达到整个数据区域边界,渲染范围某个边界外的数据行列数少于缓冲行列宽度时,在对应的另外一个边界增加其缺少行列数,以保持读取数据量相等。
15、进一步地,fps计算:一个完整三维地形渲染周期的时间值的倒数为该周期的帧速率,fps=渲染周期截止时间–渲染周期起始时间,以渲染过程中一固定点连续两次采集时间值的差值作为渲染周期时间值。
16、进一步地,计算系统的渲染性能参数:设渲染周期开始时间为tst,周期结束时间为ted,误差分别为△tst和△tet,由于fps是关于tst和ted的函数,即:
17、fps=f(tst,ted)=1/(ted-tst) (3)
18、fps的误差值为fpser,根据误差传播定律:
19、
20、由于两个时间值的误差相等,即△tst=△tet=△t,则:
21、
22、进一步地,一段时间内fps的平均值进行数据量计算,利用第一个渲染周期的fps进行数据调整控制;系统的帧速率为:
23、fps=1/tu′=1/(tf+td)
24、=1/(tf+tu·datasum)
25、其中td为处理一定地形数据的耗时,该值与数据量成正比,tu为渲染单位数据耗时,datasum为地形数据量,tu’为三角形数量;tf为每个渲染周期中系统除处理数据之外的其他时间消耗;
26、初次数据量调整:
27、datasum′=datasum·(fps/fps_set)
28、datasum’为调整之后的数据量,datasum为初始数据量,fps为第一个渲染周期的实测计算值;fps_set为操作者设定的帧速率,经过该调整,获得两组不同的fps和datasum。
29、本发明相比现有技术,具有如下有益效果:
30、通过系统在不同数据量情况下的渲染时间和fps值,各组数据量与其对应的渲染时间的关系,从中可见,场景的地形数据量与渲染时间并不呈正比例关系,地形可视化的每个渲染周期的耗时分为两部分,综合考虑每个渲染周期中系统除处理数据之外的其他时间消耗,在预设的帧速率区间内实现自动地控制系统的地形数据量的调整。
1.一种支持交互式稳定帧速率适应性显示策略渲染方法,包括步骤:
2.根据权利要求1所述的一种支持交互式稳定帧速率适应性显示策略渲染方法,其特征在于,根据给定数据量和渲染区域中心点,动态计算rsg数据参与地形渲染的数据范围,该范围以行列表示;对渲染数据的格网单元以对角线划分,进行三角化处理构建地形;数据的动态调整过程包括:首先是根据fps解算得到的数据量进行数据行列数计算,并调整读取的渲染数据;其次在用户控制漫游情况下,伴随渲染区域中心的变化,改变读取数据范围;
3.根据权利要求2所述的一种支持交互式稳定帧速率适应性显示策略渲染方法,其特征在于,缓冲数据量固定,在数据区域一侧增加/减少一行或一列数据,在另外一侧减少/增加一行或一列数据,保持内存中数据行列总数相等;如果渲染范围靠近或达到整个数据区域边界,渲染范围某个边界外的数据行列数少于缓冲行列宽度时,在对应的另外一个边界增加其缺少行列数,以保持读取数据量相等。
4.根据权利要求3所述的一种支持交互式稳定帧速率适应性显示策略渲染方法,其特征在于,fps计算:一个完整三维地形渲染周期的时间值的倒数为该周期的帧速率,fps=渲染周期截止时间–渲染周期起始时间,以渲染过程中一固定点连续两次采集时间值的差值作为渲染周期时间值。
5.根据权利要求4所述的一种支持交互式稳定帧速率适应性显示策略渲染方法,其特征在于,计算系统的渲染性能参数:设渲染周期开始时间为tst,周期结束时间为ted,误差分别为△tst和△tet,由于fps是关于tst和ted的函数,即:
6.根据权利要求5所述的一种支持交互式稳定帧速率适应性显示策略渲染方法,其特征在于,一段时间内fps的平均值进行数据量计算,利用第一个渲染周期的fps进行数据调整控制;系统的帧速率为: