边煜一屁股坐到主控台前,熟门熟路地把全息芯片夹进调试坞。
蓝色指示灯亮起。
一排参数从屏幕上滚过去。
沈恪站在旁边,手里拿着连接线,低头看了一眼接口。
“你上次说的延迟抖动,就是这里?”
“对。”边煜敲了两下键盘,“渲染引擎没问题,光场重建也能跑满,就是交互协议这块,帧同步偶尔会漂。”
“漂多少?”
“峰值十二毫秒。”
沈恪把线接好。
“对普通游戏不明显,对全息不行。”
“所以我说它欠揍。”边煜理直气壮。
其玉站在旁边,小手扶着桌沿,努力仰着脑袋看屏幕。
奈何个子太矮,再使劲儿,也只能看到一部分。
那些跳动的字母和数字更看不懂。
但他却看得认真。
边煜已经顾不上他了,一边启动模拟器,一边跟沈恪说:“你看这里,动作采样是六十帧,服务端判定也是六十帧,但本地渲染插帧到了九十。问题是延迟补偿算法没把手势预测算进去。”
沈恪坐到另一侧,调出源代码。
“你把手势和位移放在同一条预测链里了?”
“嗯。”
“难怪。”
边煜扭头:“嗯?什么情况?”
沈恪把一段代码选中。
“位移可以线性外推,手势不行。手指动作有停顿,有反悔,还有微调。你用同一个补偿模型,快的时候准,慢的时候就会飘。”
边煜盯着屏幕两秒:“。。。。。。有道理。”
“把手势拆出来,单独做状态机。”
“状态机?”
“触碰、悬停、抓取、释放,每个状态给不同权重。比如抓取后,位置预测可以强一点,悬停的时候保守一点。”
边煜拍了下桌子:“可以啊沈恪!你这个人不说话的时候像在发呆,一说话就能救命。”
沈恪把键盘推给他:“少夸。改。”
“改就改。”
边煜嘴上不服,手已经飞快动起来。