摘要:
一致性控制技术是协同虚拟环境(Collaborative Virtual Environments,CVEs)的研究热点之一。虚拟环境系统中目前最常用的一致性控制算法是Dead Reckoning(DR)算法。但DR算法会产生大量短时不一致,而且不能防止一致但不正确状态的出现。因此DR不适用于有高交互协同任务的CVEs。为此M. Mauve提出基于本地延迟的一致性控制技术。它很好的适应CVEs的要求,能有效地消除短时不一致和保持各节点状态一致且正确。基本原理是:本地用户触发一个操作后,系统不是立即执行,而是延迟一定时间等操作传送到其他节点后,再在各个节点同时执行。操作的执行时间与操作被用户触发的时间两者的差值被称为本地延迟值。本地延迟值的确定是本地延迟方法的关键之一。如果本地延迟值太小,刚大于系统总延迟,那么算法的抗干扰能力就很差。而且,延迟值越小,对系统性能破坏越大。如果本地延迟值很大,系统响应时间会变得很长,导致在虚拟环境中用户难以进行协同。因此必须对本地延迟值对协同任务的影响进行深入研究,以选择一个最合适的延迟值。已有对延迟影响的研究基本是:(1)在2D场景或者其他非协同虚拟环境中进行的。
(2) 实验测试的是“人—机”交互而不是“人—机—人”的协同交互。
(3) 测试的延迟值不连贯,只有零星的几个值。测试结果不能反映延迟值连续变化过程中的规律。因此已有研究不能满足CVEs中本地延迟算法最佳延迟值选择的要求。本文直接通过在协同虚拟环境中的高交互任务(“人—机—人”交互模式)实验,研究了连续变化延迟值(0 ms ~ 900 ms)对协同任务性能的影响,从而为本地延迟算法最佳延迟值的选择提供了直接参考数据,并根据结果给出相关建议。实验以任务完成时间TCT,出错次数和主观评价为评测参数。结果显示延迟对协同任务性能的影响是是延迟越大,影响越大。影响曲线被延迟值150 ms,300 ms和600 ms分成四段,如下:(1)0 ms ~ 150 ms时,延迟对协同性能几乎没有影响。
(2) 150 ms ~ 300 ms时,延迟对协同性能的影响开始随着延迟的增大而增大。
(3) 300 ms ~ 600 ms时,延迟影响进一步加重,影响曲线的斜率变大。
(4) 大于600 ms时,协同性能遭到极大的破坏,导致任务不可完成。所以实际使用时:延迟值最小一般设成100 ms,因为更小的延迟值无助于任务性能的提高,反而会破环系统性能;延迟最大值不要超过600 ms,否则任务会无法完成。100 ms ~ 600 ms之间值的选择最好不要超过分界点300 ms,否则微小的差异会造成很大的性能破坏。当然,对于不同协同虚拟环境的具体协同任务,延迟值的影响会稍有不同。所以具体使用时,可以进行类似的测试,以准确确定延迟值的影响,从而选择最合适的延迟值。