延迟效应定量分析
本文已过时,是早期草稿。文中的模型、假设和结论可能不适用于当前的分析,请谨慎参考。
1. 背景与概念
在网络同步的实时应用中,由于数据传输存在固有延迟,不同客户端对同一事件的感知会出现差异。本文旨在定量分析这种延迟对双方交互(如攻击判定)产生的影响。
1.1 感知的定义
对于任意实体或现象 σ,在客户端 x 的感知下记作 σx^。
1.2 符号说明
| 符号 |
含义 |
| px(t) |
客户端 x 在时刻 t 感知到的自身位置 |
| Pxy^(t) |
在 y 的感知中,x 在时刻 t 的位置 |
| Δαpx(t) |
位置变化量:px(t)−px(t−α) |
| τx |
从客户端 x 到服务器的往返时延(RTT) |
| Dx^(t) |
在 x 的感知中,双方在时刻 t 的距离 |
2. 基本假设
为简化分析,作出以下关键假设:
- 假设1:服务器内部处理延迟为零,所有延迟仅来源于网络传输。
- 假设2:位置信息在客户端与服务器之间按时间顺序可靠传输。
- 假设3:每个客户端对自身位置的感知是即时的,即 px(t)=Pxx^(t)。
3. 延迟下的感知推导
3.1 关键参数定义
定义半程时延 r 和全时延 R:
r=2τA+τB,R=2r=τA+τB
3.2 感知位置的基本关系
客户端 A 发出的位置信息需要经过时间 r 才能被 B 完全接收。因此,双方对彼此位置的感知满足:
PAB^(t+r)=pA(t)
PBA^(t+r)=pB(t)
3.3 感知距离的表达
在任意时刻 t,双方感知到的彼此距离为:
在 B 的感知中:
DB^(t)=PBB^(t)−PAB^(t)=pB(t)−pA(t−r)
在 A 的感知中:
DA^(t)=PBA^(t)−PAA^(t)=pB(t−r)−pA(t)
3.4 感知距离的增量
ΔxDB^(t)ΔxDA^(t)=ΔxpB(t)−ΔxpA(t−r)=ΔxpB(t−r)−ΔxpA(t)
3.5 感知距离的关联
将以上两式结合,可得双方感知距离的关系:
DB^(t)−DA^(t)=[pB(t)−pA(t−r)]−[pB(t−r)−pA(t)]=[pB(t)−pB(t−r)]+[pA(t)−pA(t−r)]=ΔrpB(t)+ΔrpA(t)
即:
DB^(t)=DA^(t)+ΔrpB(t)+ΔrpA(t)
4. 攻击判定的临界条件
考虑 A 对 B 发动连续攻击(Combo)成功的条件。假设攻击有效距离为 3 个单位。
4.1 成功攻击的必要条件
条件一(A能打中B):在A的感知中,存在某个时刻 t0 使得距离小于攻击范围。
∃t0,DA^(t0)<3
条件二(B打不中A):在B的感知中,任何时刻距离都大于攻击范围。
∀t,DB^(t)>3
不妨先设:
∃tx,3<DB^(t0+tx)≤DB^(t)
将t=t0+tx代入感知距离关联式:
DB^(t0+tx)=DA^(t0+tx)+ΔrpB(t0+tx)+ΔrpA(t0+tx)
又因:
DA^(t0+tx)=DA^(t0)+ΔtxDA^(t0+tx)=DA^(t0)+ΔtxpB(t0+tx−r)−ΔtxpA(t0+tx)
代入条件二:
3<DB^(t0+tx)=DA^(t0+tx)+ΔrpB(t0+tx)+ΔrpA(t0+tx)=DA^(t0)+ΔtxpB(t0+tx−r)−ΔtxpA(t0+tx)+ΔrpB(t0+tx)+ΔrpA(t0+tx)=DA^(t0)+[ΔtxpB(t0+tx−r)+ΔrpB(t0+tx)]+[ΔrpA(t0+tx)−ΔtxpA(t0+tx)]
4.3 结论
A成功发动Combo需同时满足:
∃t0,tx,3−Γ(t0,tx)<DA^(t0)<3
其中,我们称 Γ(t0,tx) 为 combo 容错,定义如下:
Γ(t0,tx)=[ΔtxpB(t0+tx−r)+ΔrpB(t0+tx)]+[ΔrpA(t0+tx)−ΔtxpA(t0+tx)]
A 感知形式:
Γ(t0,tx)=[ΔtxPBA^(t0+tx)+ΔrPBA^(t0+tx+r)]+[ΔrpA(t0+tx)−ΔtxpA(t0+tx)]
这里 tx 是满足 DB^(t0+tx)≤DB^(t)(即B感知距离最小值时刻)的时间偏移。
4.4 tx 的取值
tx 的本质,是B感知距离最近,且可以攻击时候,与 A 攻击时
t0 的偏移量。
首先考虑维持combo的情况:
要找到 ty=t0+tx,使得 DB^(ty) 取得最小值,在维持combo的情况下它是一个类似于抛物线的函数,因此,它应该满足:
Δ1DB^(ty)Δ1DB^(ty+1)=Δ1pB(ty)−Δ1pA(ty−r)<0=Δ1pB(ty+1)−Δ1pA(ty−r+1)>0
变形后可得:
Δ1pA(ty−r)Δ1pB(ty+1)>Δ1pB(ty)>Δ1pA(ty−r+1)
**若 Δ1pB(ty)>Δ1pB(ty+1)(B减速)**:
Δ1pA(ty−r)>Δ1pB(ty)>Δ1pB(ty+1)>Δ1pA(ty−r+1)
**若 Δ1pB(ty)<Δ1pB(ty+1)(B加速)**:
不妨设 γ=Δ1pB(ty+1)−Δ1pB(ty)>0,因此我们有:
Δ1pA(ty−r)Δ1pA(ty−r)+γ>Δ1pB(ty)>Δ1pB(ty+1)
所以:
Δ1pA(ty−r)+γ>Δ1pB(ty+1)>Δ1pA(ty−r+1)
要满足这两条件的最佳时机,应当是B受到击退的时候,此时B加速,以wihar为例,Δ1pB(ty+1)≈0.6≫0.39193838 \geq p_A(t_y - r + 1)因此,在这种情况下,我们总是有
t0t0tx=ty−r=t0+tx−r=r
带入公式可得:
Γ(t0,r)=ΔRPBA^(t0+R)
考虑 ΔDB^(t)>0 的情况:
在这种情况下,双方一直在远离,ty 应当取得最小值,若双方不使用 hs,那么攻击的时刻应该是相同的,我们就有
ty=t0
带入可得:
Γ=ΔrPBA^(t0+r)+ΔrpA(t0)
若有hs,我们可以大致认为距离跟击退末尾的速度有关,我们记作 k(t):
Γ(t0,tx)=[ΔtxkB(tx−r)+ΔrkB(tx)]+[ΔrkA(tx)−ΔtxkA(tx)]