加减速前台检测
发表于2018-04-17
先看几组在糖果浏览器里的加减速检测数据(检测间隔2S):
正常档位
1.05X
1.06X
1.07X
1.08X
0.98X
0.96X
0.95X
0.94X
那么以上数据是否符合预期呢?
先看看为什么这么比较?
上面的运行时间间隔是avm的差值,这个值受加减速影响较为明显,加速的时候会导致帧率加快,这样的话某同时间段内avm时间差会变大。后面的是系统日期时间差,加速的时候某同时间段内会变小,因为系统时间是不变的,当获取间隔加快了,那得到的两个系统时间差会变小。综上加速的情况,avm运行时间差与系统时间差两者差值会变大,跟加速倍率成正比关系。
同理,减速的时候,avm时间差会变小,系统时间差会变大,两者差值会为负越来越小,跟减速倍率成反比关系。
综上,加减速前台检测基本符合预期。但是最终的差值参考值需要调优,设定的参考值过大会导致检测不准,参考值过小会误报等。
注意:加减速的话心跳包会较为异常,这个后台也能根据一个理想差值来判断客户端是否有非法操作。当然这里前台加速后台检查到心跳包频繁的话可以认为前台加速作弊没问题,但是如果心跳包频率低了的话,那前台不一定是在减速,有可能是网络状态问题。所以,最好结合前台加减速检测上报标志来综合判断此类非法操作!