关于ex_interp参数
目前对于ex_interp的讨论出现在各大CS论坛,cschina为了让大家更了解ex_interp的一些知识,特转载了来自gameport.qd.sd.的一篇这方面的文章,enjoy。
CS在进行绘图的时候,是一幅一幅画绘成的,但是如果你在网络游戏的时候,再宽的带宽也不允许你将每一个位置的数据进行传送。 因此CS使用了另一种绘图办法:在你得到敌人位置数据的时候,它不会仅仅在次位置绘制敌人的图像,他会继续平滑的在敌人行进路线上绘制 敌人平滑走动的图像,直到它接收到网络传来的下一个敌人的位置(两次间隔100ms即0.1秒),再以此位置进行下一次绘图。问题出现了,这 种办法,你会发现平滑图像上敌人走在了他实际位置的前面一点,其实这个距离很小只有100ms走过的那点距离。CS使用了补偿技术,就是故意 给你延时100ms以便找回平衡。ex_interp这个参数就起这个作用,他故意让画面有100ms延时,以使画面更加准确反映敌人的真实位置。
问题在于画面的延时不仅仅取决于这个参数,网络的快慢,你硬件的性能都会最终影响在你屏幕上绘出敌人的位置和真正hitbox位置 的延时。很多人将ex_interp从0.1改为 0.075 或者 0.05 我们看会产生什么后果。后果就是他们看见了"未来的世界",这也是这个参数造成的 不公平的地方,也是为什么大家称这个参数为神奇参数的原因。问题不是这么简单,再看下面的情况。
如果一个人150 ping另一个人10 ping在同一个服务器打,理论上说当两人同时照面时,10 ping的人会提前140ms发现对方,如果低 ping的人立刻做出反应进行射击,150 ping的人身上已经挨了好多木仓才看见对方,150 ping的人如果改动了ex_interp为0或者接近0的数,那么 他实际的补偿延时就减少了100ms,实际上他可以看见50 ping的人应该看见的图像,这样高ping的人就不是很吃亏了,尽管仍然不如10 ping的 人。所以保留这个参数是可能程序员考虑到这种情况,这样可以灵活调整,使ping对游戏者的影响不是那么大。但是CS并没有这种聪明的办法 自动给不同ping的人调整这个参数,无论如何这个参数还是保留了,不管是公开还是非公开的。
再考虑如下情况,两个人ping都很低,10 ping左右,那么如果有一个人把自己的ex_interp 调整为50 那么它会看到未来40 ms的景象 ,调整为0就会看到未来90ms的景象。这种情况下,进行这个参数的改动就会造成不公平。因为他可以比对方先看到对方的位置,然而这个位置 要比实际的hitbox的位置还要早,因此如果此时你想打中对方不能往你看到的目标上打,你要打提后量,就是对方刚才所处的位置。(这种情 况与高ping打提前量恰恰相反)有些人觉得这样并不便宜,因为你不能往你看到的图像上瞄准,你要打提后量,这样反而影响了射击。不错, 如果你不适应,你当然觉得这样更糟糕,那样你可以不修改为0改为0.075 0.05也可以使你受益不少,如果设置的正好可以抵消你ping值或其他 因素的延时,你会发现这确实是一个神奇的参数,因为你画面的显示和hitbox的位置完全重合了。如果某些人长期在低ex_interp下面打,并且 已经适应打提后量,这会怎么样?你会在服务器里看见一个反映力超强的超人。因为他的反映力快得以至于能预见未来!
关于这个参数讲到这里我想你已经比较清楚了,cl_lw,cl_lc,ex_extrapmax几个参数也有些效果,不过没人问Heaton,所以我也不 需要讲了。希望了解更多的我推荐另一篇发表在sogamed的长篇大作,netcode详解,我是没时间翻译了,大家感兴趣就自己找找吧。
最后我想想说说我个人看法。很多人觉得写这种文章会助长作弊,因为改config算作弊。其实我想说明一下我的观点,CPL规定,比赛 中任何参数只能通过点击游戏中的选项更改,不能用控制台改变。如果你改动了ex_interp这种参数,肯定要通过控制台改,CPL叫做config hack算违规。用OGC这种作弊软件,那就是cheat(作弊)了。CPL的规则只是他一家的规定,比方说ClanBase也有规定,某些细节上也和CPL不 一样。但是我们绝大多数人都认同支持CPL的规则。我个人也认为没必要更改,Heaton这种王者都说坚决不改,我们改啥?再说Heaton这种大腕 都发话希望下个版本ex_interp 0.1作为标准,那么很可能在CS 1.6中,这个参数就内置了,倒时候要想再修改只能改二进制文件了,那就真的 成为作弊了。等你练成提后量神功的时候,CS 1.6一推出,你肯定就傻了。
如果你想成为真正的高手去打比赛,Heaton说你必须从一开始使用默认的config练习。不过显然他比我们都更早,更清楚config 中的每个参数。如果你凭借着一点伎俩,就算混进了世界比赛,但是在老外担当裁判的比赛中,你绝对不会有任何机会。