平衡球竞速理论知识 第二期
第四章 延迟通用定理
一、 有关因素分析
1.刷新率:刷新间隔为1000除以刷新率,以144hz为例,刷新间隔为7ms。那么最好的情况是,刚获得一个画面,恰好就赶上了刷新,延迟0ms;最差的情况是,刚刷新完就获得一个画面,延迟7ms。平均来说,延迟为3.5ms
2.FPS:道理和刷新率相同,公式依然是1000除以fps再除以2,得到平均延迟。
3.物理引擎:依然是1000除以引擎刷新率再除以2,得到平均计算时间。
4.DWM:空过了两个整刷新画面。1000/刷新率*2,这可往往不小。
5.垂直同步:延迟真的不好算,总之记住60hz是16单位,144hz是9单位,240hz是5单位,可以和dwm叠加。
6.跳过渲染延迟:1000/fps*n
7.系统延迟:直接加6ms即可
8.小提示:Ballance物理和渲染关系复杂,所以220fps达到饱和,原理未知。
二、 延迟通用定理
必须:6+500/引擎刷新率+500/fps+500/刷新率
额外:“DWM”*2000/刷新率+1000/fps*跳过帧
第五章 Opengl前来救场
一、三种渲染方式
1.Ballance最原始的渲染方式为directx8(简称dx8),上文说过,win10系统会强制给dx8游戏套兼容性并取消独占全屏。
2.用dxwrapper可以把dx8程序转成dx9,从而在win10中蒙混过关,不再有兼容性和无边框全屏。但是,对于intel核显为主导的电脑,即i+n笔记本和纯iu台式机,使用dx8转dx9后会莫名其妙地垂直同步,导致延迟更高。
3. Doyagu逆向了player.exe,然后从同引擎游戏中“借”来了opengl的Rasterizer,使得ballance可以以opengl的渲染方式运行。至于opengl是啥,百度一下,比我讲的清楚。
二、Videodriver的奥秘
1.注册表内videodriver只有两个有效的值,0或1,他们分别代表独显与集显。
2.ballance在以dx8运行时,只能使用一个显卡,在i+n笔记本中,强制调用核显。注意,如果你在NVIDIA面板中设置用独显去跑,无效。而且,性能堪忧的intel核显想带上400fps很困难。
3.分辨率界面卡死的原因是找不到显卡,假如一台纯独显的台式机,videodriver设为了1,那么当你进入分辨率界面时,游戏找不到集显,于是就出错了。在i+n笔记本中,无论设成0还是1,都不会卡死,这倒是很有意思的。
三、Opengl的优势与不足
优点1:极大减轻了cpu的负担,成倍提高渲染效率,即使是古老的cpu+核显,都可以带上400fps
优点2:即时调整窗口大小,能设置窗口性质,全屏性质
缺点1:n卡a卡不能独占全屏,只有i核显可以
缺点2:n卡a卡渲染无问题,i核显存在严重的渲染故障,被迫删除dome贴图与全局影子。
缺点3:文字依然会导致帧数血崩,用文字mod也无用。
缺点4:全屏时不可以切屏,会导致ui崩溃。
特性1:此时NVIDIA面板中对于显卡的选择是有效的,而且其他设置也会生效,你可以选用独显去跑ballance,但是n卡不是独占全屏啊。
特性2:全屏下录像有一定问题,而且捕捉屏幕还捕捉不到,也不知道是为什么。
四、Opengl的两种使用情景
1.上文中提到的i+n笔记本,因为dx9会触发垂同,所以可以用opengl来体验下独占全屏(可别忘了禁用全屏优化哦!)。
2.渣机开直播,因为opengl对于窗口化适配很好,帧数还高。
第六章 外设的力量
一、 测延迟的局限性
1.各位读者,你们有没有想到一个问题?刚才进行的延迟测试只测了系统内的延迟和显示器的延迟,而没有算进键盘自己的延迟。毫无疑问的是,键盘发送信号和灯亮一定是同时的,但是,从键盘摁下到灯亮,又有多长时间呢?
2.我们知道,win7+144hz屏的极限最低延迟大概是2.8单位左 右,但是变形的木球在奶奶家测试的结果,却是5.8单位,这又是为什么?
未完待续……
云居一号
2022.6.1