谷歌云游戏延迟分析:Stadia引入的额外延迟约70ms|JN SPORTS
本文摘要:slow motion的iphone!关上slow motion,录音了一个最简单的测试:手动掌控鼠标左右来回移动镜头,同时摄制手和显示器屏幕,期望能录下来鼠标和屏幕移动之间的不实时。
slow motion的iphone!关上slow motion,录音了一个最简单的测试:手动掌控鼠标左右来回移动镜头,同时摄制手和显示器屏幕,期望能录下来鼠标和屏幕移动之间的不实时。最后结果比我想象的好的多,不仅确切的数出了镜头和鼠标之间的延后帧数,还人生第一次看见了显示器的创下,知道就是指上往下一行一行(实际看见的是n行一起改版)的创下的!数出了镜头和鼠标之间的延后帧数n,又未知摄制的slow motion的FPS,1000*n/FPS就是延后的毫秒数。
寻找了分析延后的方法后,通过各种hack把driver的三重缓冲器杀掉(当时还是DX9时代),又建了几个jitter的bug后,很快就解决问题了问题。当时的视频早就知道所踪了,今天,我来用某种程度的方法测试一下Google Stadia的延后究竟有多少!恰好在会场遇上了浙大CAD的图形学大牛王锐教授,厚着脸皮让他给我记了一段1分钟的240 FPS slow motionヾ(◍°∇°◍)ノ゙返回酒店后,关上PotPlayer,之后开始一帧一帧数数~(ノ゚∀゚)ノ ,其中一次移动的数据如下:手柄从最左开始向右摇杆的第一帧:#150手柄摇到最右落下的第一帧:#179画面开始向右移动的第一帧:#219手柄和鼠标有一个相当大的区别,摇杆的行程让我不了准确的确认左右鼓的准确中点,那就估算一下中点为#165帧,把min/median/max都算数一下吧min:219 - 179 = 40 frames = 167msmedian:219 - 165 = 54 frames = 225msmax:219 - 150 = 69 frames = 288ms所以,可以粗略估计Google Stadia的Controller to Display Latency大约在200ms左右。这个值还是非常低的,射击游戏认同是敢的o(╥﹏╥)o,很是沮丧~改版测试方案,重测一遍感激战神大牛 @gougou槐宏文建议换一种更为准确的方法来测试,增大误差:谢谢这个文章,但是我有一个小疑惑,还必须其他方面的测试来测量,因为输出到摄像机的旋转,很有可能经常出现gameplay code的damping,也就是说输出检测到了但是一开始蓄意移动摄像机不这么灵敏,这种就是避免摄像机过于灵敏,更加有一点测试的是play control,因为这是玩家操作者的,基本想经常出现延后,比如引左摇杆玩家什么时候一动,按x键玩家什么时候反击,如果这些延后还是200ms,那基本没有办法玩游戏照相机光滑+摇杆deadzone等显然有过于多的不确认因素了,必须回避掉。按照上述思路新的测试了一下。
视频:感激雷火技术中心总监小军路经老大我视频——每次都拉大牛来录,提高逼格 (=´ω`=)视频中slow motion部分所有的按键-动作的帧数记录如下:#629 - #679 = 50 frames#1202 - #1252 = 50 frames#1748 - #1796 = 48 frames#2286 - #2332 = 46 frames#2838 - #2892 = 54 frames帧数区间是(50±4)帧,平均值延后是49.6帧。在240fps的slow motion下就是206.7ms,误差区间在208.3±16.7ms之内。这个结果与之前粗略估计的值误差并不大,原先的结论仍有有效地:更加准确的测算Google Stadia的Controller to Display Latency在200ms左右,实验误差在208.3±16.7ms内。
《Controller to Display Latency》为啥第一段起名叫做到A Black Box Method?因为,今天有一个有趣的讲座:他里面对延后的分析十分十分的精细,问了很多之前我一知半解的模糊不清概念。我上面用的这种屌大细的方法,在他的演说中,就叫作:Black Box Method。
黑盒Black Box方法几乎不管内部细节,必要测量,可以用来分析延后。但是不会造成估算过于粗。
估算过于粗就无法准确预测Throttle从而减少图形Workload和VSync上的延后。这个Talk里面我个人觉得很有意思的几个点:土豪工作室自己做了一套闭环检测输出延后的硬件:把VSync说明的十分十分确切显示器的扫瞄和创下重开VSync造成画面断裂超时+实时点不对=帧亲率减为好的实时点只不会略为减少帧亲率预测+自适应屏幕分辨率=会miss任何一个VSync把延后的每一步都谈的十分精细,可操作性很强延后的定义明确提出了人为放入Throttle反而能大幅度减少延后的概念,反直觉人为放入Throttle反而能大幅度减少延后明确提出了明确的估计Throttle的预测算法和Best PracticeThrottle预估算法反馈机制此Talk谈的十分精细,等GDC Vault改版视频后,在这里补足链接。
#TODO这个Talk光看PPT很难解读,基本没文字——好的PPT就应当这样(〃▽〃),必须融合视频食用为欠佳。装病的同学可以卯活看我的现场速记草稿,基本记录了每一页PPT,侵删:kilia/gdc2019中的 ControllerToDisplayLatency现场速记笔记.pdf本地游戏对比分析由于当时在GDC会场,没条件测试单机/主机情况下的延后。评论中大家说道的都很中肯,本地游戏的延后也必需测试才算原始。
张鹤翔:有所不同游戏的内部延后不可忽视(即文中所说的游戏接到操纵信号到输入一帧画面的时间),条件容许的话必须用有所不同类型、有所不同厂商的游戏展开测试才能获得全面的结果。对于奥德赛这类动作游戏,本身不拒绝尤其较低的延后,用xbox来测试有可能延后也在100ms以上。
bird cai:你要较为本地连接,单机相连时的延时,忘了讲其他。用iPhone Slow Motion也是我们用的方法。
我自己测量的结果,在LAN上的结果,网络和串流编码解码的延时可以做10ms以下。霞先生:美国DF社样子近期的谷歌云游戏测试,说道他们用了高速摄像机,结论是谷歌云延后是166ms,微软公司x1x延后是145ms,感觉差距并不大啊今天,继续做用同事的Steam账号测试了PC版《刺客信条—奥德赛》的延后情况,感激最帅气的楠哥获取测试账号。
测试环境CPU i9-7900XGPU GTX 108032G DDR4瞄准60fps / VSync ON《刺客信条—奥德赛》Steam版《奥德赛》的输出延后测试31帧,129.17ms31帧,129.17ms33帧,137.50ms32帧,133.33ms35帧,145.83ms35帧,145.83ms35帧,145.83ms34帧,141.67ms33帧,137.50ms平均值33.2帧,在240fps下就是138.4ms。实验测出的数据区间是33±2帧,即137.5±8.3ms。前文准确的测算Google Stadia的Controller to Display Latency在200ms左右,实验误差在208.3±16.7ms内。可见,《奥德赛》本身的Controller to Display Latency就是很高的。
非常简单两者对比下Google Stadia引进的额外延后在70ms左右。由于感觉《奥德赛》的延后较高,又拿了最近在玩游戏的FPS游戏,同为UBI出品的《Far Cry 5》展开了对比测试。
《Far Cry 5》Steam版17帧,70.83ms16帧,66.67ms16帧,66.67ms15帧,62.50ms17帧,70.83ms果然FPS游戏,延后的优化就要好得多。实验测得平均值16.2帧,在240fps下就是67.5ms。实验测出的数据区间是16±1帧,即66.7±4.2ms。
版权文章,予以许可禁令刊登。下文闻刊登须知。
本文关键词:JN江南·(中国)体育官方网站,JN SPORTS,JN体育·(江南)官方网站
本文来源:JN江南·(中国)体育官方网站-www.emily-tamatebako.com