CS > 经验交流 > 反恐精英CS中ex_interp参数数据分析

反恐精英CS中ex_interp参数数据分析

15-03-04 14:28 来源:互联网 相关文章

  (1)ex_interp后面跟的0.1和0.01是什么意思?

  如果LAN条件下电脑甲用0.01,电脑乙用0.1。当server送出数据包A,由于ping值差别很小,基本在1ms左右,可以忽略不计,所以此数据包A将同时到达电脑甲和乙。那么这时候在两条电脑上会出现什么情况呢?结果就是,等过了10ms,在电脑甲的显示器上才出现数据包A描述的图象;而再过了90ms(100ms时),在电脑乙的显示器上才会出现数据包A描述的图象。所以其实这里的0.1和0.01的单位就是秒(s):0.1=0.1s=100ms;0.01=0.01s=10ms。

  (2)那在这儿10ms或者100ms内这两台电脑都做了些什么呢?

  很简单,数据插值。我们知道server只能向电脑发出不连续的数据包。在LAN里,updaterate采用的是最大值100。亦就是1秒内server向电脑发出了100个数据包,每10ms发出一个。如果我们的电脑只是按照这些数据包来生成屏幕上出现的图象,尽管10ms很短很短,敏锐的人眼还是足够让每个人都会觉得图象及其不连续,这就是必须做数据插值用来填充两个数据包间那10ms空白的根本原因。你的电脑正是通过这0.01s或者0.1s来收集足够的数据进行插值。

  (3)10ms和100ms插值的不同?

  如果熟悉插值的会知道,插值的方法有很多,如果只有两个点,那只能做简单的两点线性插值,也就是两点成一线段。不断做两点线性插值结果就是一条由很多线段组成的折线。如果有N个点,那么就能采用高阶函数做插值,比如用N-1次多项式做插值,结果是一条很光滑的曲线。

  假设server最开始向电脑发出的数据包为A,之后是B、C、D、E和F、G、H、I、J、K,间隔为10ms。电脑甲和乙将同时收到A,但是它们不会立刻把A画出来。

  对于采用ex_interp 0.01的电脑甲来说,它要等10ms后收到了B时才开始把A图象在屏幕上画出来,再等到10ms后,电脑才会画B图象。而对于在画B图象之前那10ms的空白,电脑甲用已知的A和B这两个数据点通过两点线性插值来计算并在屏幕上画出。对于采用ex_interp 0.1的电脑乙来说,它要等收到A数据包100ms后,也就是当收到了K数据包的时候才开始画出图象A。而对于在A~K这些离散数据之间10段空白,电脑乙已有11个数据采样点,这样它就可以通过高阶函数来进行非常光滑的数据插值。