暴风中文 通过搜索各大小说站为您自动抓取各类小说的最快更新供您阅读!

在又稍微的运年思索了一下,顺便组织了一下接下来的语言。

因为接下来要说的东西会稍微显的有些复杂,很有可能没有这方面的技术的看起来会有些吃力,所以,杰斯特在想着怎么才能够把他要说的东西说的更加的通俗易懂。

杰斯特接着在新的回帖里面写道。

“接下来我要说的就要难懂很多了,但是至少仔细的想一下,其实也就是那么回事。”

“在说完了上面的那些简单的概念以及术语之后,我们来看一个新的概念,这个概念的专有名词叫做‘内插帧’。那么什么叫做‘内插帧’?”

“实际上,内插帧是一项技术用来平滑游戏中的物体行动的,比如说玩家。本质上讲,内插帧是用来平滑一个物体在2个点之间的行动。内插帧的延迟通常等于2个快照,但也是会变化的——这么说可能会有些难以理解,但是我们可以举一个例子来进行说明。”

“如果一个玩家直线奔跑,在tick1的时候他在0.5m处,在tick2的时候在1m处,那么经过内插帧的处理将之显示在客户端,他从0.5m的起点非常平滑的移动到1m的终点。但是服务端,总是并且只是“观察”到玩家在2个位置,而不是在2点之间。”

“这么说有些理解了吧?”

“也就是说,服务器进行处理的智商两次tick的快照,没有内插帧的话,游戏就会变的断断续续。因为客户端只是在收到来自服务端的更新后才能得知游戏中的物体的行为。内插帧行为只在客户端单边发生。”

“内插帧本质上降低了整个游戏在你电脑上的渲染速度,这个数值通常等于2快照,一般来说所有的游戏都是如此,但是有些游戏允许你更改这些,比如《反恐精英》。这些就是人们在说起rates的时候所指的,他们指的是更新率和内插帧延迟。”

这一次杰斯特斌没有在一个帖子里面写上所有他想要说的话,因为现在的这些并不好理解,所以,他现在是一个概念一个帖子的进行阐述卡跟不卡之间的关系。

让更多的玩家不要在似懂非懂的争执这些鸡毛蒜皮的事情。

在说完了内插帧,并且将阐述这个概念的帖子发出去之后。杰斯特又开始了一个新的帖子,仍旧是继续上面的话题。

“之前说了内插帧,那么很多人会好奇,既然有内插帧,那么到底有没有外插帧呢?”

“答案是肯定是。这个世界上面天生就是对称的,有内就会有外,而所谓的外插帧,这是另一个客户端方面的技术用来补偿延迟。本质上说,客户端外插物体的位置替代降低整个客户端的渲染。这种做法大体上不及内插帧,特别是对于玩家行动不可判断的fps游戏来说。”

“所以,在讨论《反恐精英》这款标准的fps游戏的时候我不会太过于详细的去介绍这个概念,因为他并不是我要说的话题的主角。”

杰斯特写的这些术语介绍什么叫做卡为什么会卡的帖子马上就引起了玩家们的关注。虽然有一些看的比较吃力,但是,他们也逐渐的明白了所谓的卡于不卡其实是一个很复杂的过程。所以,杰斯特的这个帖子的下面很快的就有了一两百个赞。

当然,杰斯特要说的还没有说完。

“然后,就是一个重中之重的概念,我们内部将其称之为hit-box,可以简单的解释为命中框或者是命中面积。这样说似乎就顾名思义了,一个人物的3d模型包含了一些区域来判断命中。长宽高的数据在3d世界里面精确的描述一个物体。你看不到命中框,你只能看到玩家模型。命中框可大可小。也可某种程度上无法命中,这都要根据游戏如何编写来判定。在命中和未命中方面,命中框能够带来比快照速率更大的不同。”

“另外的一个非常重要的东西,叫做卡顿补偿,这可能在不同的游戏里面会有完全不同的表现。”

“卡顿补偿是在服务端的一种功能,意在减少客户端延迟的直观感受。如果没有卡顿补偿,或者卡顿补偿不够理想,你就会朝着一个目标瞄准想要打中,但是由于客户端电脑“看到”的延迟后的游戏世界,你并不会命中原先瞄准的区域。本质上讲,卡顿补偿是在解读从客户端接收到的动作,比如开火,尽管动作已经发生过了。服务端游戏世界和客户端游戏世界的不同,或者说我们通常所说的客户端延迟,都可以总结为:客户端延迟=(1/2*延迟)+内插帧延迟。”

“这其实是一个很复杂的机制,我原本想要三言两语的将其说明白,但是我发现这根本没有办法做到,索性我就详细的说一下什么叫做卡顿补偿或者更加确切的一个说法,就是卡顿补偿这个机制到底是怎么运行的?”

“现在我描述一个这样的玩家在游戏里面的游戏场景,来通过这个场景简单的说一下什么叫做卡顿补偿。”

“这个场景是这样的。”

“玩家a看到玩家b向一个拐角行进,玩家a开了1枪,客户端把开枪这个动作发送给服务端。服务端接收到xms后的数据,x为玩家y(延迟)的一半。服务端这时查看过去发生过的(在记忆加载中),查找到当玩家a开枪的时候玩家b的位置。在基础的例子中,服务端会返回(xms+玩家a的内插帧延迟)到玩家a看到玩家b的时间点,但是其他的数值因素或许由游戏程序员想要卡顿补偿如何施行来决定。”

“服务端决定玩家a开的枪是否命中。开枪想要被算做命中,需要它必须打在玩家模型的命中框中。在这个例子里,服务端认为玩家a命中玩家b。尽管如此。玩家b的屏幕可能已经看到自己在墙后了,但是在玩家b看到自己在墙后的时间和服务端认为玩家b被命中的时间的差异等于:1/2玩家a的延迟+1/2玩家b的延迟+距离上一次快照的时间。”

“在下一次快照中,服务端更新玩家a、b的客户端上的数据。玩家a看到命中瞄准的位置x,玩家b看到自己的生命值减少或者死亡。”

“看完这一个过程之后,是不是就对于什么叫做卡顿或者说是延迟有了一个完全不同的清晰的定义了呢?”

杰斯特写完这些之后。想要将帖子发出去,但是他突然的想起了一个玩家经常争执的问题,正好可以利用这个机会解释一下,于是他便在这个帖子的下面紧接着写道:“我突然的想起了一个fps游戏玩家之间经常的进行争吵的经典问题,那就是我跟另外一个玩家同时开火,并且同样命中。为什么我死了对方却没事呢?”

“因为这是不同的游戏存在着不同的设定的原因,在一些游戏中,比如《反恐精英》,如果先开的一枪到达服务端的时候杀死了目标,那么任何接下来的所有到达服务端的命中目标的开火将被服务端忽略。这种情况下。就不可能存在同时击杀,因为2玩家在1快照中向对方开枪并都死亡。”

“但是,在另外的一些游戏当中,比如说有一些人已经试玩过的《军团要塞》,共同击杀是可行的。这里有一个叫做权重的东西在影响着游戏的进程。”

“如果你用《反恐精英》的模型,玩家在良好的延迟下会有明显的优势,并且在一些时候可能会出现‘oh,我在死前打了他一枪。但是他并没有死!’的情况。你甚至会在你死前听到你发出的枪声,但仍没有造成任何伤害。”

“如果你用目前的《军团要塞》模型,反应时间的微小差别并不会意味很多。举例,如果服务端快照连拍率是64,如果玩家a比玩家b快了15ms开枪,但是他们都是在15.6ms的快照中完成这个动作,那么他们就会同归于尽,整个过程其实就是这么的简单。”

“如果卡顿补偿过量。会显示结果为我在他之后开枪但是还是打死了他。”

“如果卡顿补偿不足,会显示结果为我需要再移动准星一点才能打中他。”

“只是看这个的话任何人都会觉得这很简单。但是拆开来看的话,那就会非常的复杂。而我刚才说的不过只是一点皮毛而已,实际上,我并不是专业的网络工程师,对于这个,我知道的也仅仅是一点皮毛罢了。”

“可能很多人会问,我对于你说的这些毫无兴趣,我想要知道,我如果卡顿了应该怎么办,我可以有什么办法来解决自己卡顿的问题呢?”

杰斯特写到这里的时候把这个帖子发了出去,然后又另开一贴。

他决定在新的帖子里面详细的说一下这个问题。

“如果你想要明显的改善你的延迟,那么首先,你要确定,你所感受到的卡顿并不是因为游戏提供商带来的,可能一些比如服务器的负载等等的问题,让你觉得游戏不流畅,但是这事跟你无关的,如果你确定了别人都很流畅,但是我就不流畅之后,那么我下面说的东西或许会给你一点帮助,当然,也可能不会。”

“首先,也是最重要的,你的网络连接。越低的延迟越好。同时,任何连在你家庭网络中的过多的分流都会导致延迟。卡顿补偿能够在‘你在对什么开火’这部分提供帮助,但是如果你有很差的延迟,你更可能会体验到‘我已经跑到墙后了但还是挨了一枪’或者‘我先开枪,但依旧是我死’。”

“如果你的客户端的帧数很低,只要是低于或者不足于你显示器的刷新频率,这会增加延迟的感觉,并且相较不同的快照连拍速率而言感觉更明显和频繁。”

“修改内插帧,如果游戏允许的话。大多数游戏都有一个默认的内插帧时间,最少是2倍的快照间隔。这么做的原因是如果一个单一数据包丢失,玩家的动作不会定格在客户端屏幕上。如果你的网络链接很好,并且0丢包,那么你完全可以把内插帧时间设定在正好等于2个快照的间隔时间,但如果1个数据包延迟了,你便会看到一个断口。以《反恐精英》为例,这比从20快照服务器换到64快照服务器进行还要有很大不同。如果你把这个值设置的很低,会造成断断续续的画面。”

“这也是很多玩家在谈到卡顿问题的时候,经常说到的丢包,其实,这就是内插帧的问题。”

诸如此类的东西杰斯特又说了很多,最后他总结了一句话:“总之,有很多的方法都可以解决一些问题,但是他们不可能解决所有的问题,比如说卡顿,我为什么要发着几个帖子说明这些问题的原因很简单,因为我发现太多的人根本不懂什么叫做网络代码,甚至对于这个问题一无所知,但是却总是在抱怨自己在墙后面被杀死。”

“有些时候,你在墙后面被人射死,不仅仅是因为服务器的原因,更多的,还是因为你自己的机器或者网络宽带上面出现了一些问题。”

当杰斯特写完这一整个帖子之后,他竟然发现,已经有数百个回复出现在了他的这一个帖子当中。

很多人都在感谢杰斯特代替开发组,在百忙当中,在为玩家们答疑解惑,当然,这些都是对于《反恐精英》的开发组并不像是一些其他的火星娱乐的游戏那样,经常在玩家社区出没的抱怨。不过杰斯特对此的解释是不同的开发组有不同的风格,他并不强求这样。

他喜欢在玩家社区跟玩家交流,但是并不要求所有的开发组都如此。

但是仍旧有不少人在说杰斯特这明显的是在为自己的服务器问题甩锅,当然,这些无脑喷当然是被很多自告奋勇的玩家们喷的他们妈妈都不认识他们了。(未完待续)

暴风中文推荐阅读:我在星际开饭店绝代风华之末世之王快穿:恶女勾勾手,男主昏了头原来我是一个天道反派团重生了瘟疫医生全球进化,我觉醒了一座世界我托雷基亚,这辈子想做个好人星际上山赶海美食不断从零级开始穿梭诸天四合院不甘心的许大茂我的一天有48小时末世多子多福:我打造最强安全屋!末世:坑蒙拐骗杂货铺游戏灾难:从获得神级金卡开始末世细胞学星际江湖之异形王星系霸主之仙云星系战记末世重生,囤货百亿顺带谈个恋爱黄金耳八云家的大少爷末世杀戮:无限空间之异能王者不务专业的歌手带着异形去修仙美漫事务所:开局宠物汤姆和杰瑞战域时代:开局觉醒神级天赋我在天灾,打造生命星球回到末世前:我无敌了末世穿书:主角种田我填坑!末世重生:我的酒店物资无穷尽希望犹在之第一部风卷龙旗高武:邪君降临落叶战记末世反派系统,成为阿姨们的噩梦我在末日文字游戏里救世都市之最强DNF系统进击吧,末日铁甲师兄,你别跑辅法王座快穿黑心莲:恶毒女配撩疯了身软小人鱼捡垃圾,全星际心疼哭帝国的朝阳极寒末世,我随身携带安全堡垒星际从分解万物开始Clone心影星际之大熊猫的崛起嬉笑者女主今天有点撩外星侵袭:地球反击快穿之炮灰凶残
暴风中文搜藏榜:穿成星际唯一人类,各路大佬疯抢新元纪快穿系统:男主又重生了龙珠之道问诸天生存游戏:从一只乌鸦开始全球领主:开局成为沙漠领主末日丧尸之我还是主角?零元购,我把渣爹老窝一锅端快穿撩情:嚣张boss,我宠的外来异星群星:我没输过,你说我是战犯?洪水末日:我打造了海上城市末世降临:我招收下属,获得百倍物资末世公寓截胡S级房车,我在逃亡中收美女分身分身闭上嘴,让我来说你是谁万界信用卡拐只狐狸带回家快穿:炮灰女配,颤抖吧紫瞳医圣末世大回炉最强寰宇主神此刻,全球极夜诸天BOSS群轴承曝光我成首席科学家阴阳食谱末世之重生之囤货npc太软,玩家大佬纷纷沦陷绝密试验档案穿越之虫族主宰在异界末日模拟器,我以剑道证超凡揣了反派龙君的崽后我跑路了异闻录我用铠甲闯末世重生末日前三天星穹铁道:神级附魔师,重铸造物引擎诸天次元交易所恐怖机场末世重生之凤归来奇妙的异世界旅行穿越到一九八零全球断电:重返冷兵器时代星际之大演绎家末世:别人囤物资,我直接建城日月星辰伴我眠,虫生异星当帝皇沐蓝星球3:星空学院维度进化战争余生伴星眠宝藏猎人江宪快穿之炮灰逆袭人生
暴风中文最新小说:重生后,我疯狂收购全服第一账号时空吞噬者:畸变档案末日:重生者大人的日常生活求生从种田开始末世之废土之路末世开店,小店又被挤爆了作为牛马我活到了末世鸿蒙战神从地球废墟杀到星神座系统穿越【我靠系统点亮科技树】真理之蚀末世,只剩一人寄生家园赛博轮回:我在星际拆解神明末世,我的空间能种出世界树都末世了,当个雀神不过分吧?末世天崩【破晓之航】生之徒重置星空恶雌腰软会撩人,深陷雄竞修罗场末世?丧尸?我无个敌先史前新纪元:最强玩家崛起熵梦书:时间琥珀里的文明病我掉进了手机里或许从未有人成仙机娘纪元:宇宙纷争渣雌回归后:兽世傲娇父子求抱抱尸兄之别人练武,我修仙!工具人女配?被六个疯批强制爱赛博朋克:我用游戏飞升满级快穿,惹得禁欲反派宠妻上瘾全球高温:我囤好物资吹空调公路求生,我被萌物幼崽们带飞我,后土血裔,轮回诸天湮灭代码:末日系统的禁忌契约穿书末世,烂尾书毫无参考价值超级科技系统,从平凡到拯救穿成兽世娇娇雌,顶级兽夫追着宠星际最强精神力,大佬们跪求安抚丧尸末世:开局SSS级金刚不坏末世十皇灵气复苏风云传绑定美食系统,我在快穿世界封神战锤求生:我杀敌就变强第一次引领者计划星辰轨迹:龙国崛起末世:开局美女返利,我建立了女儿国!星晨灿烂异世,重启末世,从自制圣衣开始星海舰娘:开拓时代