第831章 卡頓與延遲

在又稍微的運年思索了一下,順便組織了一下接下來的語言。

因爲接下來要說的東西會稍微顯的有些複雜,很有可能沒有這方面的技術的看起來會有些吃力,所以,傑斯特在想着怎麼才能夠把他要說的東西說的更加的通俗易懂。

傑斯特接着在新的回帖裡面寫道。

“接下來我要說的就要難懂很多了,但是至少仔細的想一下,其實也就是那麼回事。”

“在說完了上面的那些簡單的概念以及術語之後,我們來看一個新的概念,這個概念的專有名詞叫做‘內插幀’。那麼什麼叫做‘內插幀’?”

“實際上,內插幀是一項技術用來平滑遊戲中的物體行動的,比如說玩家。本質上講,內插幀是用來平滑一個物體在2個點之間的行動。內插幀的延遲通常等於2個快照,但也是會變化的——這麼說可能會有些難以理解,但是我們可以舉一個例子來進行說明。”

“如果一個玩家直線奔跑,在tick1的時候他在05m處,在tick2的時候在1m處,那麼經過內插幀的處理將之顯示在客戶端,他從05m的起點非常平滑的移動到1m的終點。但是服務端,總是並且只是“觀察”到玩家在2個位置,而不是在2點之間。”

“這麼說有些理解了吧?”

“也就是說,服務器進行處理的智商兩次tick的快照,沒有內插幀的話,遊戲就會變的斷斷續續,因爲客戶端只是在收到來自服務端的更新後才能得知遊戲中的物體的行爲。內插幀行爲只在客戶端單邊發生。”

“內插幀本質上降低了整個遊戲在你電腦上的渲染速度,這個數值通常等於2快照,一般來說所有的遊戲都是如此,但是有些遊戲允許你更改這些,比如《反恐精英》,這些就是人們在說起rates的時候所指的。他們指的是更新率和內插幀延遲。”

這一次傑斯特斌沒有在一個帖子裡面寫上所有他想要說的話,因爲現在的這些並不好理解,所以,他現在是一個概念一個帖子的進行闡述卡跟不卡之間的關係。

讓更多的玩家不要在似懂非懂的爭執這些雞毛蒜皮的事情。

在說完了內插幀。並且將闡述這個概念的帖子發出去之後,傑斯特又開始了一個新的帖子,仍舊是繼續上面的話題。

“之前說了內插幀,那麼很多人會好奇,既然有內插幀。那麼到底有沒有外插幀呢?”

“答案是肯定是,這個世界上面天生就是對稱的,有內就會有外,而所謂的外插幀,這是另一個客戶端方面的技術用來補償延遲。本質上說,客戶端外插物體的位置替代降低整個客戶端的渲染。這種做法大體上不及內插幀,特別是對於玩家行動不可判斷的fps遊戲來說。”

“所以,在討論《反恐精英》這款標準的fps遊戲的時候我不會太過於詳細的去介紹這個概念,因爲他並不是我要說的話題的主角。”

傑斯特寫的這些術語介紹什麼叫做卡爲什麼會卡的帖子馬上就引起了玩家們的關注,雖然有一些看的比較吃力。但是,他們也逐漸的明白了所謂的卡於不卡其實是一個很複雜的過程,所以,傑斯特的這個帖子的下面很快的就有了一兩百個贊。

當然,傑斯特要說的還沒有說完。

“然後,就是一個重中之重的概念,我們內部將其稱之爲hit-box,可以簡單的解釋爲命中框或者是命中面積,這樣說似乎就顧名思義了,一個人物的3d模型包含了一些區域來判斷命中。長寬高的數據在3d世界裡面精確的描述一個物體。你看不到命中框,你只能看到玩家模型。命中框可大可小,也可某種程度上無法命中,這都要根據遊戲如何編寫來判定。在命中和未命中方面。命中框能夠帶來比快照速率更大的不同。”

“另外的一個非常重要的東西,叫做卡頓補償,這可能在不同的遊戲裡面會有完全不同的表現。”

“卡頓補償是在服務端的一種功能,意在減少客戶端延遲的直觀感受。如果沒有卡頓補償,或者卡頓補償不夠理想,你就會朝着一個目標瞄準想要打中。但是由於客戶端電腦“看到”的延遲後的遊戲世界,你並不會命中原先瞄準的區域。本質上講,卡頓補償是在解讀從客戶端接收到的動作,比如開火,儘管動作已經發生過了。服務端遊戲世界和客戶端遊戲世界的不同,或者說我們通常所說的客戶端延遲,都可以總結爲:客戶端延遲=(1/2*延遲)內插幀延遲。”

“這其實是一個很複雜的機制,我原本想要三言兩語的將其說明白,但是我發現這根本沒有辦法做到,索性我就詳細的說一下什麼叫做卡頓補償或者更加確切的一個說法,就是卡頓補償這個機制到底是怎麼運行的?”

“現在我描述一個這樣的玩家在遊戲裡面的遊戲場景,來通過這個場景簡單的說一下什麼叫做卡頓補償。”

“這個場景是這樣的。”

“玩家a看到玩家b向一個拐角行進,玩家a開了1槍,客戶端把開槍這個動作發送給服務端。服務端接收到xms後的數據,x爲玩家atency(延遲)的一半。服務端這時查看過去發生過的(在記憶加載中),查找到當玩家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開槍,但是他們都是在156ms的快照中完成這個動作,那麼他們就會同歸於盡,整個過程其實就是這麼的簡單。”

“如果卡頓補償過量,會顯示結果爲我在他之後開槍但是還是打死了他。”

“如果卡頓補償不足,會顯示結果爲我需要再移動準星一點才能打中他。”

“只是看這個的話任何人都會覺得這很簡單。但是拆開來看的話,那就會非常的複雜,而我剛纔說的不過只是一點皮毛而已,實際上。我並不是專業的網絡工程師,對於這個,我知道的也僅僅是一點皮毛罷了。”

“可能很多人會問,我對於你說的這些毫無興趣,我想要知道,我如果卡頓了應該怎麼辦。我可以有什麼辦法來解決自己卡頓的問題呢?”

傑斯特寫到這裡的時候把這個帖子發了出去,然後又另開一貼。

他決定在新的帖子裡面詳細的說一下這個問題。

“如果你想要明顯的改善你的延遲,那麼首先,你要確定,你所感受到的卡頓並不是因爲遊戲提供商帶來的,可能一些比如服務器的負載等等的問題,讓你覺得遊戲不流暢,但是這事跟你無關的,如果你確定了別人都很流暢,但是我就不流暢之後,那麼我下面說的東西或許會給你一點幫助,當然,也可能不會。”

“首先,也是最重要的,你的網絡連接。越低的延遲越好。同時,任何連在你家庭網絡中的過多的分流都會導致延遲。卡頓補償能夠在‘你在對什麼開火’這部分提供幫助,但是如果你有很差的延遲,你更可能會體驗到‘我已經跑到牆後了但還是捱了一槍’或者‘我先開槍,但依舊是我死’。”

“如果你的客戶端的幀數很低,只要是低於或者不足於你顯示器的刷新頻率,這會增加延遲的感覺,並且相較不同的快照連拍速率而言感覺更明顯和頻繁。”

“修改內插幀,如果遊戲允許的話。大多數遊戲都有一個默認的內插幀時間,最少是2倍的快照間隔。這麼做的原因是如果一個單一數據包丟失,玩家的動作不會定格在客戶端屏幕上。如果你的網絡鏈接很好,並且0丟包,那麼你完全可以把內插幀時間設定在正好等於2個快照的間隔時間,但如果1個數據包延遲了,你便會看到一個斷口。以《反恐精英》爲例,這比從20快照服務器換到64快照服務器進行還要有很大不同。如果你把這個值設置的很低,會造成斷斷續續的畫面。”

“這也是很多玩家在談到卡頓問題的時候,經常說到的丟包,其實,這就是內插幀的問題。”

諸如此類的東西傑斯特又說了很多,最後他總結了一句話:“總之,有很多的方法都可以解決一些問題,但是他們不可能解決所有的問題,比如說卡頓,我爲什麼要發着幾個帖子說明這些問題的原因很簡單,因爲我發現太多的人根本不懂什麼叫做網絡代碼,甚至對於這個問題一無所知,但是卻總是在抱怨自己在牆後面被殺死。”

“有些時候,你在牆後面被人射死,不僅僅是因爲服務器的原因,更多的,還是因爲你自己的機器或者網絡寬帶上面出現了一些問題。”

當傑斯特寫完這一整個帖子之後,他竟然發現,已經有數百個回覆出現在了他的這一個帖子當中。

很多人都在感謝傑斯特代替開發組,在百忙當中,在爲玩家們答疑解惑,當然,這些都是對於《反恐精英》的開發組並不像是一些其他的火星娛樂的遊戲那樣,經常在玩家社區出沒的抱怨。不過傑斯特對此的解釋是不同的開發組有不同的風格,他並不強求這樣。

他喜歡在玩家社區跟玩家交流,但是並不要求所有的開發組都如此。

但是仍舊有不少人在說傑斯特這明顯的是在爲自己的服務器問題甩鍋,當然,這些無腦噴當然是被很多自告奮勇的玩家們噴的他們媽媽都不認識他們了。

第838章 見面第853章 消息第648章 席德 梅爾的邀請第50章 禮物第148章 二選一的選擇第647章 我們會盡全力去做第243章 李秉哲第513章 傅瓚的遊戲第520章 加入雜誌社第801章 我們來做開箱子的CS第231章 最終幻想的北美首發第337章 小島秀夫的選擇第384章 邁克 莫懷米第682章 我給你開慶功會第562章 我要做這樣的遊戲第211章 什麼叫Combo第672章 借鑑第658章 再來一回合的奧妙第386章 有些眼熟的電話號碼第250章 橫井軍平的堅持第238章 日本市場的逆襲第224章 頑皮狗成立第575章 你們問問題吧第805章 冷飯罷了第408章 馬爾欽的未來掠影第87章 節奏類遊戲的想法第22章 坑爹的系統第136章 應對第829章 EA收購西木頭第137章 做一款獨樹一幟的RPG遊戲第720章 飯後第680章 侃侃而談第105章 計劃第806章 鈴木裕的新遊戲第698章 百分之十二第720章 飯後第73章 病來如山倒第253章 紅外通訊第213章 微軟的上帝第298章 中山隼雄的想法第628章 分章節制作第701章 GDC與VGA第605章 借鑑第505章 婚禮第495章 任天堂的手掌機第368章 侏羅紀公園第16章 下一款遊戲第178章 尋找湯姆·克蘭西的繼任者第533章 招攬山內一典第156章 雙贏第66章 《GAME》第434章 飛去倫敦第393章 洛克人第605章 借鑑第769章 售價多少第553章 醞釀着的大消息第171章 滿分遊戲第462章 到達韓國第85章 茅臺跟龍蝦第699章 一年第243章 李秉哲第151章 騎槍的暗榮五百零六章 海島大亨第690章 逆增長第219章 大航海時代發售第192章 掘井雄二的決斷第647章 我們會盡全力去做第503章 婚禮前夜第240章 換一款遊戲?第68章 面試第46章 一封傳真第348章 索任聯盟的裂痕第317章 遊戲展會的想法第494章 沒有深度的遊戲第793章 論壇第97章 準備去英國第663章 金會員系統第843章 邀請第476章 傳聞第43章 索尼克之父中裕司第62章 再遇第157章 準備回美國第552章 宣傳攻勢第659章 結束第533章 招攬山內一典第621章 我願意擔當監督第225章 即將到來的勇者鬥惡龍第316章 進一步合作第656章 提問第738章 寫一本叫做《數字化生存》的書第677章 下定決心第95章 迴歸第244章 股份互持第482章 不就是美式RPG麼第661章 一個想法第130章 以退爲進第791章 年度遊戲第388章 搖滾賽車第197章 讓漢斯季末來配樂第133章 碾壓
第838章 見面第853章 消息第648章 席德 梅爾的邀請第50章 禮物第148章 二選一的選擇第647章 我們會盡全力去做第243章 李秉哲第513章 傅瓚的遊戲第520章 加入雜誌社第801章 我們來做開箱子的CS第231章 最終幻想的北美首發第337章 小島秀夫的選擇第384章 邁克 莫懷米第682章 我給你開慶功會第562章 我要做這樣的遊戲第211章 什麼叫Combo第672章 借鑑第658章 再來一回合的奧妙第386章 有些眼熟的電話號碼第250章 橫井軍平的堅持第238章 日本市場的逆襲第224章 頑皮狗成立第575章 你們問問題吧第805章 冷飯罷了第408章 馬爾欽的未來掠影第87章 節奏類遊戲的想法第22章 坑爹的系統第136章 應對第829章 EA收購西木頭第137章 做一款獨樹一幟的RPG遊戲第720章 飯後第680章 侃侃而談第105章 計劃第806章 鈴木裕的新遊戲第698章 百分之十二第720章 飯後第73章 病來如山倒第253章 紅外通訊第213章 微軟的上帝第298章 中山隼雄的想法第628章 分章節制作第701章 GDC與VGA第605章 借鑑第505章 婚禮第495章 任天堂的手掌機第368章 侏羅紀公園第16章 下一款遊戲第178章 尋找湯姆·克蘭西的繼任者第533章 招攬山內一典第156章 雙贏第66章 《GAME》第434章 飛去倫敦第393章 洛克人第605章 借鑑第769章 售價多少第553章 醞釀着的大消息第171章 滿分遊戲第462章 到達韓國第85章 茅臺跟龍蝦第699章 一年第243章 李秉哲第151章 騎槍的暗榮五百零六章 海島大亨第690章 逆增長第219章 大航海時代發售第192章 掘井雄二的決斷第647章 我們會盡全力去做第503章 婚禮前夜第240章 換一款遊戲?第68章 面試第46章 一封傳真第348章 索任聯盟的裂痕第317章 遊戲展會的想法第494章 沒有深度的遊戲第793章 論壇第97章 準備去英國第663章 金會員系統第843章 邀請第476章 傳聞第43章 索尼克之父中裕司第62章 再遇第157章 準備回美國第552章 宣傳攻勢第659章 結束第533章 招攬山內一典第621章 我願意擔當監督第225章 即將到來的勇者鬥惡龍第316章 進一步合作第656章 提問第738章 寫一本叫做《數字化生存》的書第677章 下定決心第95章 迴歸第244章 股份互持第482章 不就是美式RPG麼第661章 一個想法第130章 以退爲進第791章 年度遊戲第388章 搖滾賽車第197章 讓漢斯季末來配樂第133章 碾壓