丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
業(yè)界 正文
發(fā)私信給劉芳平
發(fā)送

0

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

本文作者: 劉芳平 2019-04-02 18:25
導(dǎo)語(yǔ):粗略估算Google Stadia的Controller to Display Latency大概在200ms左右。

雷鋒網(wǎng)按:本文由雷鋒網(wǎng)轉(zhuǎn)載自知乎專欄(1)(2),已獲作者授權(quán)。

先上結(jié)論:粗略估算Google Stadia的Controller to Display Latency大概在200ms左右。對(duì)比本地游戲,Google Stadia引入的額外延遲在70ms左右。

2019-3-22更新:更精確的測(cè)算Google Stadia的Controller to Display Latency在200ms左右,實(shí)驗(yàn)誤差在208.3±16.7ms內(nèi)。

A Black Box Method

14年在做《天諭》引擎的時(shí)候,我們遇到了FPS不錯(cuò),但是“手感”很差的問(wèn)題。主觀測(cè)試后,感覺(jué)很有可能是輸入到畫(huà)面的延遲(Controller to Display Latency)太高了。但是,怎么來(lái)更加客觀的分析這個(gè)延遲呢?

記得那是一個(gè)周末,在公司絞盡腦汁,總不能去買一個(gè)高速攝像機(jī)來(lái)分析吧?當(dāng)時(shí)確實(shí)還taobao搜索了一下,印象中都沒(méi)數(shù)清楚后面的0……回想起來(lái)可能要幾十萬(wàn)吧 〒▽〒,鳥(niǎo)叔肯定不會(huì)批的 ╮(╯﹏╰)╭

正絕望中,突然靈機(jī)一動(dòng),蘋果不是剛發(fā)布了slow motion功能嗎?立馬在周末人煙稀少的辦公區(qū)里一個(gè)一個(gè)的找手機(jī)看,居然真的被我找到了一臺(tái)支持slow motion的iphone!

打開(kāi)slow motion,錄制了一個(gè)最簡(jiǎn)單的測(cè)試:手動(dòng)控制鼠標(biāo)左右往復(fù)移動(dòng)鏡頭,同時(shí)拍攝手和顯示器屏幕,希望能錄下來(lái)鼠標(biāo)和屏幕移動(dòng)之間的不同步。最終結(jié)果比我想象的好的多,不僅清楚的數(shù)出了鏡頭和鼠標(biāo)之間的延遲幀數(shù),還人生第一次看到了顯示器的刷新,真的是從上往下一行一行(實(shí)際看到的是n行一起更新)的刷新的!

數(shù)出了鏡頭和鼠標(biāo)之間的延遲幀數(shù)n,又已知拍攝的slow motion的FPS,1000*n/FPS就是延遲的毫秒數(shù)。找到了量化延遲的方法后,通過(guò)各種hack把driver的三重緩沖干掉(當(dāng)時(shí)還是DX9時(shí)代),又修了幾個(gè)jitter的bug后,迅速就解決了問(wèn)題。

當(dāng)時(shí)的視頻早已不知所蹤了,今天,我來(lái)用同樣的方法測(cè)試一下Google Stadia的延遲到底有多少!


剛好在會(huì)場(chǎng)遇到了浙大CAD的圖形學(xué)大牛王銳教授,厚著臉皮讓他給我錄了一段1分鐘的240 FPS slow motionヾ(?°?°?)??

回到酒店后,打開(kāi)PotPlayer,繼續(xù)開(kāi)始一幀一幀數(shù)數(shù)~(????)? ,其中一次移動(dòng)的數(shù)據(jù)如下:

  • 手柄從最左開(kāi)始向右搖桿的第一幀:#150

  • 手柄搖到最右停住的第一幀:#179

  • 畫(huà)面開(kāi)始向右移動(dòng)的第一幀:#219

手柄和鼠標(biāo)有一個(gè)很大的區(qū)別,搖桿的行程讓我沒(méi)法精確的確定左右搖的精確中點(diǎn),那就估計(jì)一下中點(diǎn)為#165幀,把min/median/max都算一下吧

  • min:219 - 179 = 40 frames = 167ms

  • median:219 - 165 = 54 frames = 225ms

  • max:219 - 150 = 69 frames = 288ms

所以,可以粗略估算Google Stadia的Controller to Display Latency大概在200ms左右。這個(gè)值還是相當(dāng)高的,射擊游戲肯定是不行的o(╥﹏╥)o,很是失望~

更新測(cè)試方案,重測(cè)一遍

感謝戰(zhàn)神大牛 @gougou槐宏文建議換一種更加精確的方法來(lái)測(cè)試,減小誤差:

謝謝這個(gè)文章,但是我有一個(gè)小疑問(wèn),還需要其他方面的測(cè)試來(lái)測(cè)量,因?yàn)檩斎氲綌z像機(jī)的轉(zhuǎn)動(dòng),很有可能出現(xiàn)gameplay code的damping,也就是說(shuō)輸入檢測(cè)到了但是一開(kāi)始故意移動(dòng)攝像機(jī)不這么靈敏,這種就是防止攝像機(jī)太靈敏,更值得測(cè)試的是play control,因?yàn)檫@是玩家操作的,基本不想出現(xiàn)延遲,比如推左搖桿玩家什么時(shí)候動(dòng),按x鍵玩家什么時(shí)候攻擊,如果這些延遲還是200ms,那基本沒(méi)辦法玩

相機(jī)平滑+搖桿deadzone等確實(shí)有太多的不確定因素了,需要排除掉。按照上述思路重新測(cè)試了一下。

視頻:

感謝雷火技術(shù)中心總監(jiān)小軍路過(guò)幫我錄像——每次都拉大牛來(lái)錄,提升逼格 (=′ω`=)

視頻中slow motion部分所有的按鍵->動(dòng)作的幀數(shù)記錄如下:

  1. #629 -> #679 = 50 frames

  2. #1202 -> #1252 = 50 frames

  3. #1748 -> #1796 = 48 frames

  4. #2286 -> #2332 = 46 frames

  5. #2838 -> #2892 = 54 frames

幀數(shù)區(qū)間是(50±4)幀,平均延遲是49.6幀。在240fps的slow motion下就是206.7ms,誤差區(qū)間在208.3±16.7ms之內(nèi)。

這個(gè)結(jié)果與之前粗略估算的值誤差不大,原有的結(jié)論仍有有效:

更精確的測(cè)算Google Stadia的Controller to Display Latency在200ms左右,實(shí)驗(yàn)誤差在208.3±16.7ms內(nèi)。

《Controller to Display Latency》

為啥第一段起名叫做A Black Box Method?因?yàn)?,今天有一個(gè)很棒的講座:

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

他里面對(duì)延遲的分析非常非常的細(xì)致,回答了很多之前我一知半解的模糊概念。我上面用的這種傻大粗的方法,在他的演講中,就叫做:Black Box Method。

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

黑盒

Black Box方法完全不管內(nèi)部細(xì)節(jié),直接測(cè)量,可以用來(lái)分析延遲。但是會(huì)導(dǎo)致估計(jì)不夠細(xì)。估計(jì)不夠細(xì)就無(wú)法精確預(yù)測(cè)Throttle從而降低渲染W(wǎng)orkload和VSync上的延遲。

這個(gè)Talk里面我個(gè)人覺(jué)得很有意思的幾個(gè)點(diǎn):

  • 土豪工作室自己搞了一套閉環(huán)檢測(cè)輸入延遲的硬件:

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

  • 把VSync解釋的非常非常清楚

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

顯示器的掃描和刷新

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

關(guān)閉VSync導(dǎo)致畫(huà)面撕裂

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

超時(shí)+同步點(diǎn)不對(duì)=幀率減半

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

好的同步點(diǎn)只會(huì)稍微降低幀率

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

預(yù)測(cè)+自適應(yīng)屏幕分辨率=不會(huì)miss任何一個(gè)VSync

  • 把延遲的每一步都講的非常細(xì)致,可操作性很強(qiáng)

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

延遲的定義

  • 提出了人為插入Throttle反而能大幅降低延遲的概念,反直覺(jué)

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

人為插入Throttle反而能大幅降低延遲

  • 提出了具體的估算Throttle的預(yù)測(cè)算法和Best Practice

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

Throttle預(yù)估算法

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

反饋機(jī)制

此Talk講的非常細(xì)致,等GDC Vault更新視頻后,在這里補(bǔ)充鏈接。#TODO

這個(gè)Talk光看PPT很難理解,基本沒(méi)有文字——好的PPT就應(yīng)該這樣(〃'▽'〃),需要結(jié)合視頻食用為佳。心急的同學(xué)可以湊活看我的現(xiàn)場(chǎng)速記草稿,基本記錄了每一頁(yè)P(yáng)PT,侵刪:

kilia/gdc2019 中的 ControllerToDisplayLatency現(xiàn)場(chǎng)速記筆記.pdf

本地游戲?qū)Ρ确治?/h2>

由于當(dāng)時(shí)在GDC會(huì)場(chǎng),沒(méi)有條件測(cè)試單機(jī)/主機(jī)情況下的延遲。評(píng)論中大家說(shuō)的都很中肯,本地游戲的延遲也必須測(cè)試才算完整。

張鶴翔:不同游戲的內(nèi)部延遲不可忽視(即文中所說(shuō)的游戲收到操控信號(hào)到輸出一幀畫(huà)面的時(shí)間),條件允許的話需要用不同類型、不同廠商的游戲進(jìn)行測(cè)試才能拿到全面的結(jié)果。
對(duì)于奧德賽這類動(dòng)作游戲,本身不要求特別低的延遲,用xbox來(lái)測(cè)試可能延遲也在100ms以上。


bird cai:你要比較本地連接,單機(jī)連接時(shí)的延時(shí),再來(lái)談其他。用iPhone Slow Motion也是我們用的方法。我自己測(cè)量的結(jié)果,在LAN上的結(jié)果,網(wǎng)絡(luò)和串流編碼解碼的延時(shí)可以做到10ms以下。


霞先生:美國(guó)DF社好像最新的谷歌云游戲測(cè)試,說(shuō)他們用了高速攝像機(jī),結(jié)論是谷歌云延遲是166ms,微軟x1x延遲是145ms,感覺(jué)差距不大啊

今天,抽空用同事的Steam賬號(hào)測(cè)試了PC版《刺客信條—奧德賽》的延遲情況,感謝最帥氣的楠哥提供測(cè)試賬號(hào)。

測(cè)試環(huán)境

谷歌云游戲延遲分析:Stadia引入的額外延遲約70ms

  • CPU i9-7900X

  • GPU GTX 1080

  • 32G DDR4

  • 鎖定60fps / VSync ON

《刺客信條—奧德賽》Steam版


《奧德賽》的輸入延遲測(cè)試

  • 31幀,129.17ms

  • 31幀,129.17ms

  • 33幀,137.50ms

  • 32幀,133.33ms

  • 35幀,145.83ms

  • 35幀,145.83ms

  • 35幀,145.83ms

  • 34幀,141.67ms

  • 33幀,137.50ms

平均33.2幀,在240fps下就是138.4ms。實(shí)驗(yàn)測(cè)得的數(shù)據(jù)區(qū)間是33±2幀,即137.5±8.3ms。

前文精確的測(cè)算Google Stadia的Controller to Display Latency在200ms左右,實(shí)驗(yàn)誤差在208.3±16.7ms內(nèi)。

可見(jiàn),《奧德賽》本身的Controller to Display Latency就是很高的。簡(jiǎn)單兩者對(duì)比下Google Stadia引入的額外延遲在70ms左右。

由于感覺(jué)《奧德賽》的延遲較高,又拿了最近在玩的FPS游戲,同為UBI出品的《Far Cry 5》進(jìn)行了對(duì)比測(cè)試。

《Far Cry 5》Steam版

  • 17幀,70.83ms

  • 16幀,66.67ms

  • 16幀,66.67ms

  • 15幀,62.50ms

  • 17幀,70.83ms

果然FPS游戲,延遲的優(yōu)化就要好得多。實(shí)驗(yàn)測(cè)得平均16.2幀,在240fps下就是67.5ms。實(shí)驗(yàn)測(cè)得的數(shù)據(jù)區(qū)間是16±1幀,即66.7±4.2ms。

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)