欢迎光临散文网 会员登陆 & 注册

平衡球竞速理论知识 第一期

2022-05-27 14:15 作者:云居一号yunjuyihao  | 我要投稿

前言:有的时候我也在想,明明有了新手教学第一期,却为什么经常还要给群友们解决一些电脑设备的问题。后来我想明白了,视频里只是说了怎么做怎么做,但没说什么不能做,为什么要做,每一步的道理是怎么样的。故开此坑,用文章的形式彻底讲明白我所知道的知识,如有纰漏错误,欢迎指正。

感谢ballance科研组其他成员的支持!变形的木球、四汪、doyagu这三位同志。


第一章     概述

一、基本名词解释

1.帧数:英文名frame per second,缩写fps。大意就是显卡每秒画多少个画面。比如说240fps,就是显卡每秒钟输出240个画面。

2.显示器刷新率:简称刷新率,单位是“hz”。含义是显示器每秒更新多少个画面。一般电脑显示器为60hz,代表每秒刷新画面60次,电竞显示器有144hz,240hz,360hz等,刷新率越高画面越丝滑,越高越贵。

3.帧时间:当前帧数下,一个画面所持续的时间,以毫秒为单位。这是一道小学数学题,假如帧数是240fps,那么请问其中的一个画面会停留多长时间?1000ms/240hz=4.17ms,所以在240fps下,帧时间为4.17ms。

二、五大主战场

1.游戏内设置界面:options——graphics

从上到下分别为:分辨率、垂直同步开关、云层开关,其中和fps相关的是分辨率,分辨率越大,fps越低。和延迟相关的是垂直同步,但这个暗藏玄机。开启时为发送请求垂直同步的信号且不锁帧,关闭时为锁定帧数为59(很奇怪吧?我也这么觉得)。

2.Framerateunlocker.bmod

该mod无条件取代游戏内设置!

游戏内mod的设置界面极其简约,参数如下

第一个格,0代表开启垂直同步,1代表不开启垂直同步且不锁帧,2代表不开启垂直同步且按照第二个格的数值锁帧。值得一提的是,在游戏内垂直同步开关变化时,该mod会暂时失效,需要将参数改成别的再改回来,才是生效状态。

3.NVIDIA显卡控制面板

桌面右键即可发现这个地方,如果没有,去控制面板里找。“管理3D设置”中有垂直同步一项,生效条件非常严格。必须没有核显添乱,游戏必须是全屏!(无边框全屏也算全屏)。一旦生效具有最高权力,绝不存在垂直同步。

4.Intel核显控制面板

新版存在于开始菜单里,旧版存在于桌面右键中“图形属性”。但是请记住,这破软件说啥都不算数,可以直接无视。

5.AMD显卡控制面板

依然是桌面右键,你会看到它

当使用amd核显时,不生效

当使用amd独显时,生效,同NVIDIA面板

既有核显又有独显时,生效一半(很玄学很罕见)

三、n种常见电脑

缩写:i=Intel n=NVIDIA a=AMD

1.Intel的cpu 没显卡

2.AMD的cpu 没显卡

3.n独显的台式机、

4.a独显的台式机

4.a+n混合模式笔记本

5.i+n混合模式笔记本

6.带独显直连的笔记本,请打开独显直连,可视作台式机

四、 三种游戏画面

1. 独占全屏:桌面关闭,游戏恒定处于最上层,是最理想的状态。鉴别方式:使用fn快捷键调节音量,看不到悬浮窗。Win10上对游戏本体设置“禁用全屏优化”是其必要但不充分条件!

2. 无边框全屏:由于ballance使用directx8进行渲染,win10会将ballance视作老游戏,阻止独占全屏,而是变成一个跟屏幕一样大还无边框的窗口(后文中dwm是存在于这里的)。鉴别方式:使用fn快捷键调节音量,看得到悬浮窗。

3.窗口化:就是窗口化,没啥好说的

4.无边框窗口:全屏时由于切屏,会导致ballance形成无边框窗口,此时垂直同步强制开启,各种性质无法预测,是需要避免的最差情况!


第二章 延迟哪里来?

一、DWM

1.DWM全称windows desktop manager,中文名“桌面窗口合成器”。顾名思义就是把桌面上所有的窗口合成在一起。比方说,A游戏正在以600fps运行,B游戏以200fps运行,桌面以60fps运行,为了让他们看上去和谐没有抖动和撕裂,且不互相干扰,就要合在一起。合成后,所有窗口实际展现的画面数与显示器刷新率相等。可以这样理解,dwm相当于在游戏上盖了一层膜,A游戏提交出的600个画面经过dwm筛选,只留下60个报给显示器。

2.工作原理:将显示器画面滞后2个刷新率,在这段时间内收集若干个完整画面,随后交给显示器。

3.关闭方法:

Win7:在控制面板搜索“服务”,进入并找到windows desktop manager,禁用即可。

Win10:使用整合包内disable dwm这个小软件,将保留的程序加入txt白名单。如果黑屏,用ctrl+shift+home键自救,存在一定风险和未知状况。

Win11:目前来看,关不掉,或者你需要足够欧(?)

4.影响:帧数降低一点,画面水波纹撕裂,延迟降低非常多。

5.特别提示:关闭后ballance前后不得有窗口堆叠,会导致帧数折半。(毕竟没组合就会互相打架)

二、垂直同步

1.定义:将fps与显示器刷新率绑定,从而实现最流畅的画面效果。

2.危害:大到夸张的延迟,和间歇性的巨大卡顿。

3.关闭方法:使用framerateunlocker.bmod,设为1或者2,同时,在五个主战场内检查,任何有关垂直同步的项目都应该设为关。

三、兼容性延迟

Win7不要开任何兼容性,win8可选开管理员,win10可选开16位色。当兼容模式存在时,一定是无边框全屏而不是独占全屏。对于win10系统,dx8渲染模式,兼容性一定是处于winxp的状态(覆盖你的设置),从而导致无边框全屏(覆盖禁用全屏优化的选项),也就是说,延迟有两层。当使用dx8转9补丁后,兼容模式消失,依然是无边框全屏,延迟还一层。当勾选“禁用全屏优化”后,实现独占全屏,一层延迟都没有了。

四、跳过渲染延迟

*Ballex正在以999fps跑着,你输入一个信号,过了好几帧才显示出来,再正常不过了。

*Ballex正在以15fps跑着,你输入一个信号,本帧内无变化,下帧无变化,下下帧画面才动,是不是有点问题?相当于,帧时间已经长到足以忽略系统硬延迟的地步了,本该在下帧作出的反应却推到了下下帧,为什么?

1.在dx10及以后的游戏中,为了保证画面连续稳定,采用了一个api转换层,工作原理和dwm一样,但只不过是拖延了游戏内的1帧(dwm是拖延显示器的2个刷新)。

2.如果作者代码写歪了,会导致物理帧和渲染帧耦合错误,导致先出旧画面,再算物理,再出新画面。如此又会导致游戏内1帧画面滞后。

3.Ballance不存在跳过渲染延迟,Ballex存在2帧跳过渲染延迟,Ballex2依然是2帧跳过渲染延迟。

4.在存在跳过渲染延迟的情况下,高帧数和低帧数的延迟差异是巨大的,以跳两帧为例,999fps下是2ms,而60fps下是33.3ms,所以,玩ballex最好999fps。

五、系统输入延迟

这是定死的,咱没法改变,而且测量起来误差也挺大的,根据现有数据来看,大约是6ms,仅供参考。

六、FPS和物理刷新率延迟

1.很明显,fps越高,帧时间越短,那么,帧就可以更新得更及时。但是过高的帧数反而会带来副作用,如全局游戏加速等。那么,最合适的帧数是多少呢?根据实验数据,Ballance在220fps左右达到最低延迟,和600fps或1200fps并没有多少差距。

2.通常情况,物理运算和渲染是分开的两条链,先经过物理的刷新计算,再进入渲染队列的刷新显示。Ballance的物理刷新率为132hz,两条线互相影响。ballex为100hz,ballex2目前为200hz。物理刷新率改变不了,所以暂且不用管他。


第三章 自己动手测延迟

一、 准备材料

1. 带键盘宏功能的键盘或者键位修改软件

2. 有原生240fps慢动作摄影的手机

3. 把视频从手机发到电脑的软件

4. 可以逐帧的电脑视频播放器

二、 操作方法

1.编写一个键盘宏,同时摁下caps键和esc,存在caps键上

2.进游戏第二关,一边连续摁caps键,一边用手机拍摄屏幕和键盘灯,以稍大的间隔连点20次caps键。

3.把视频发到电脑上逐帧看,从键盘灯亮的一帧开始(本帧不算)播放,直到屏幕开始出现变化的那一帧,经过了n帧

4.20次结果取平均,单位比较特殊,叫“延迟单位”,由于视频是240fps,所以其中一帧就是240分之1秒。N单位延迟=(N*4.17)ms

三、 统计数据

至少包括系统版本,全屏状态,dwm状态,垂直同步状态,帧数,显示器刷新率等要素。

未完待续……

2022.5.27

云居一号


平衡球竞速理论知识 第一期的评论 (共 条)

分享到微博请遵守国家法律