PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

游戏高帧数需要高刷新显示器搭配才有效果

[复制链接]
StormBolt 发表于 2021-2-23 18:22 | 显示全部楼层
kingyesx1 发表于 2021-2-23 16:47
现实世界里的动作可以随心控制,想怎么改就怎么改

3D游戏场景里面的一切物件的模型,动作,反应等都是预 ...

游戏可设定指的是根据生活实际设定,不会逐帧设计,更不是根据各不相同的显卡的渲染进度设定画幅内容,就连flash都是只画关键帧然后创建过渡,游戏是起点终点轨迹,逐帧设计的只有3D建模2D呈现的,比如帝国2暗黑2
不是说设定出问题,问题出在表现环节,你想它这样,实际由于帧少了它不这样表现,内容和认知出现偏差,呈现节奏和认知出现偏差,8个动作只是简化到不能再简化的举例,人眼能察觉差异的能力比你想象的强得多,只是具体差别哪里无法一目了然,以及无法作出反应而已

现在各种同步技术都在发展中,能不能别为了证明觉得流畅的人是心理作用,把人家在解决的问题说成理所当然的,一句话打击两拨人,给人家一点尊重可好?
kingyesx1  楼主| 发表于 2021-2-23 18:28 | 显示全部楼层
本帖最后由 kingyesx1 于 2021-2-23 19:53 编辑

你可以先了解一下3D动画。我可没説用人来逐帧设计
只不过游戏和3D动画的区别在于,3D动画的运动过程不接收玩家的干预,游戏是接受玩家干预的。

kingyesx1  楼主| 发表于 2021-2-23 18:33 | 显示全部楼层
本帖最后由 kingyesx1 于 2021-2-23 19:54 编辑
StormBolt 发表于 2021-2-23 18:22
游戏可设定指的是根据生活实际设定,不会逐帧设计,更不是根据各不相同的显卡的渲染进度设定画幅内容,就 ...

哦。编辑一下反正3D动画我是了解一点,虽然没太过深入

嗯。还是结贴算了。大概意思都差不多了。
Ivanonline 发表于 2021-2-23 20:44 | 显示全部楼层
本帖最后由 Ivanonline 于 2021-2-23 20:48 编辑
kingyesx1 发表于 2021-2-23 12:18
其实我也是很奇怪,液晶的点阵应该都算是实时反应的,但为什么还要有刷新率这东西 ...

查了一些资料:
红字是比较重要的。

--------------------------------------------------------------------------------------------------------

资料一:来源:https://lcd.zol.com.cn/647/6470613_all.html#p6501738

误区三:屏幕刷新率60Hz是每秒闪烁60次?

    从老式CRT显示器一路走来,我们还惯性地以为60Hz的液晶显示器是每秒闪60次,这种认知是错误的。

    液晶面板中采用的是矩阵电路,而非传统CRT的扫描电路。液晶显示器中的像素点是常态工作的,只有在新信息更换的时候才变换。所以即使降到1Hz的刷新率,也不会出现闪屏现象,大家尽可以放心。

--------------------------------------------------------------------------------------------------------

资料二:来源:https://www.163.com/dy/article/F6SEDKMO0516DSVI.html

三.液晶的动态黑白动态显示原理
        动态显示常采用点阵式矩阵显示方式。将电极做成平行状,并使上玻璃片的电极和下玻璃片的电极成立体正交结构。这样相互交叉的部分就是点阵式像元,如图中用小方块表示。当x方向的电极和y方向的电极条数都为n时,用2n个电极就可以构成n个像元。当像元的面积越小,单位面积内数量越多,显示的图像就越细腻。


液晶像元
        当x方向的电极从上到下按时间顺序逐行扫描,y方向的电极按显示信号加上选与非选的信号,那么所有选通点都呈亮态,其余呈暗态。由于x方向电极的扫描速度很快,所以选通点将不断变化,由于时间间隔很小,利用视觉暂留,可以使观察者看到一幅完整的画面。逐行扫描的过程与阴极射线显像管的行扫描过程十分类似,当x方向的电极由上而下逐行扫描次,完成一帧这样不断地扫描,同时给列电极加上选或非选的信号就实现了所有像元的显示功能。如果在行电极完成的n帧扫描期间,列电极不断地重复每帧期间的选择信号波形,就可以在显示屏上获得一幅静态的画面。如果列电极的选择信号波形一帧与一帧不同,这样就形成了动态的画面。下图便是通过电极的快速扫描显示的出绚丽的黑白动画


. . . . . . . . . .


TFT—LCD电路控制原理
        TFT—LCD电路的主要作用是控制液晶两表面的电压值,以控制液晶的偏转角度,改变液晶分子对线性偏振光的扭转角度,并通过前面偏光片的取向作用,最终实现控制通过光线的强弱。薄膜场效应晶体管(thin film transistor,TFT)对应控制的每一个子像素,薄膜晶体管TFT是开关器件,它的导通与截止状态接近理想开关。以分辨率为1024×768像素的显示屏为例,每个像素由R、G、B三基色的子像素,即合计有1024×768×3 TFT晶体管。如下图所示

1024×768分辨率像素点

一个子像素控制电路

晶体管控制构架

控制面板
  门极线有768,源极线有1024×3。控制电路采用分时驱动的方式,按顺序分别置门极线高电平,从而控制打开该行 TFT晶体管,此时源极线上的电压即加到该行液晶各子像素上,从而控制该行液晶的偏转角度和最终实现光线的透射率的控制。

--------------------------------------------------------------------------------------------------------

到此为止。我画的图好像没错。。基础的东西好像没有什么问题。。。

液晶的点阵变换是通过控制电路来控制的。然后控制电路是按照顺序分别导通的。所以有个先后的次序。

“刷新率”这个在液晶上也是可以适用的。。

--------------------------------------------------------------------------------------------------------
OK,基础的东西完了,我继续我想要说的。继续发图。


Ivanonline 发表于 2021-2-23 21:04 | 显示全部楼层
1.png

这样吧,颜色没有那么直观,咱带入游戏看一下。举个例子,想象一下。

在CS:GO游戏里面

显卡输出的
黄色那帧为:你面前站着5个人
绿色那帧为:5个人把你围起来了。
粉色那帧为:5个手雷在你面前爆炸(这就是为什么时间轴上绿色比其他帧都长的原因,渲染粉色这帧比其他帧都耗费时间)。
蓝色那帧为:所有人都倒了。
橘黄色.....(后面就不编了)

实际显卡输出的每帧的变化肯定没有这么大啊,这里就简单的举个例子而已。
Ivanonline 发表于 2021-2-23 21:20 | 显示全部楼层
问:你能看到显示器中有粉色是在什么时候?
答:是在显示器输出第二帧图像的时候,也就是在2/60秒的时候,我的图片上也就是最右边的竖线。

这个时候换一张显卡,从1060 3G(我目前在用的)换成3090。帧数咱假设从120FPS增加到了240FPS。增长了一倍。
实际我感觉肯定超过1倍了(A:显卡太贵买不起啊!B:有钱也买不到啊!),咱就按照一倍来讲。


问:显卡怎么能在同样的一秒内,输出一倍的帧。
答:单位时间内显卡渲染同样的一帧的时间减半了。
本来用1060的时候黄绿粉蓝橘紫,所有渲染完成,时间是2/60秒,这时候显示器输出两帧
现在1/60秒就渲染完成了,显示器只输出了1帧。

2222222.png

问:你能看到显示器中有粉色是在什么时候?
答:是在显示器输出第一帧图像的时候,也就是在1/60秒的时候,我的图片上也就是中间的竖线。



Ivanonline 发表于 2021-2-23 21:21 | 显示全部楼层
这是引起我大量思考的一个结论。但是是错的。知道错在哪里了吗?
StormBolt 发表于 2021-2-23 21:46 | 显示全部楼层
跨大格的才会有一半一半,没跨大格的只显示最后那一个紫色

换句话说,所谓撕裂只有2个颜色来撕
Ivanonline 发表于 2021-2-23 22:15 | 显示全部楼层
StormBolt 发表于 2021-2-23 21:46
跨大格的才会有一半一半,没跨大格的只显示最后那一个紫色

换句话说,所谓撕裂只有2个颜色来撕 ...

不对。。

撕裂你先别考虑。那是另一回事儿,真的。稍后我会提。。

-------------------------------------------------------------------------

我先用这个结论引申一下啊。一会儿我给你说这个结论错在哪里。

你思考一下。本来爆炸场景应该出现在显示器显示第二帧:2/60秒的时候。这时候通过换显卡,提高显卡输出的FPS后。爆炸的场景出现在了第一帧也就是1/60秒的时候。是不是给这个玩儿游戏的人的反应时间又多出来了1/60秒。

或许你会说粉色不是完整的显示出来了,仅仅显示一部分,而且现在显示的比之前在第二帧显示的占比更少。

我会说不管占比多少,粉色的确实显示出来了。。而且从第二帧提前到了第一帧。

高帧低刷无用是不是错了?

---------------------------------------------------------------------------

我觉得这个引申是正确的。





StormBolt 发表于 2021-2-23 22:34 | 显示全部楼层
本帖最后由 StormBolt 于 2021-2-23 22:35 编辑
Ivanonline 发表于 2021-2-23 22:15
不对。。

撕裂你先别考虑。那是另一回事儿,真的。稍后我会提。。

并不会不对,只是不止有撕裂而已

你图里的小格,实际上是替换关系,大格分界来临时,取最后一个小格,前提是这个小格是完整的,不是的话就是刷掉多少各出来一半也就是撕裂,然后较真的话帧缓存实际也不止1帧,以前N卡可以调多少的,现在好像没有了,假设是3就会取3格,但实际我不确定是不是还是只用1格而2格用来预备,因为以前有过避免浪费2格的性能,而把预渲染帧从3调成1的做法,开始还能调0,后来GF8时代的驱动禁止了

帧越多,跨格的几率越小,跨格不仅代表撕裂,更代表内容跨度大,比如有个帧跨了1、2格,第2格内又有1个完整帧,第3格实际刷新出来内容就隔开了2帧,前一幅显示1号后一幅显示3号,每帧都不比大格宽的前提下,60/60的系统,很容易出现1/2/4/5/7这样的情况,能被眼睛发现太容易了。。。在120/60的系统上,就更趋向于1.5/2.5/4/5/6.5这样,不说容易发现,起码对比之下是可以发现的

所以,不止是多帧的系统上那一帧早出来1/60秒,更是少帧的系统上,那一帧会可能因为跳过了“爆炸1”,等“爆炸2”出来已经迟了1/60秒,一来一回可以差1/30秒

Ivanonline 发表于 2021-2-24 00:20 | 显示全部楼层
本帖最后由 Ivanonline 于 2021-2-24 00:33 编辑
StormBolt 发表于 2021-2-23 22:34
并不会不对,只是不止有撕裂而已

你图里的小格,实际上是替换关系,大格分界来临时,取最后一个小格,前 ...

OK,我感觉我已经理解你的意思了。。(你也没有截个屏啊,标记个箭头啥的,我反复读了好几遍。)

下面,我要说为啥我上面的那个结论是错误的问题了。。

---------------------------------------------------------------------


2.png

仔细想一想,我箭头指的这个显卡生成的粉色帧,通过换显卡,提高一倍FPS以后,一定会跑到前面去吗??

手雷是什么时候爆炸的?什么时候丢出去的?(这是反推。)

正推的话就是,玩家按鼠标丢雷->雷爆炸->显卡渲染:爆炸图(粉色帧)

咱们先假设丢雷和雷爆炸之间的时间是0秒,即丢即炸。上面简化成:玩家按鼠标丢雷 = 雷爆炸 ->显卡渲染:爆炸图(粉色帧)

玩家丢雷的时间点,成了这帧的前提。

如果玩家丢雷的时间点在上面那个时间轴的显示器输出第二帧的开始处(红框处)。

不管你怎么提升FPS,显卡生成的粉色帧都不会跑到前面去。

(这会儿有点儿像视频里面的关键帧,P帧,B帧了)

Ivanonline 发表于 2021-2-24 00:28 | 显示全部楼层
我,关于高帧低刷的的思考仅仅到这里了,下面的思路还有,但是还没有捋顺。

接着就是画面撕裂了。明天再讨论吧。
Ivanonline 发表于 2021-2-24 01:05 | 显示全部楼层
本帖最后由 Ivanonline 于 2021-2-24 01:09 编辑

没看到楼主已经结贴了。

还是说完吧。画面撕裂如果仅仅从显示器显示的一张图片上是无法体现的。只能动起来以后你才能看到。网上好多撕裂的图片,其实很误导人。如果假设截屏不需要时间,我可以这样说,从我画的那两帧图的任意一个时间点儿,截屏截出来的图片都是“撕裂”的。但如果之后显示器输出的第三帧,第四帧,等等,之后的每一帧都是完整的。那肯定看不出来画面撕裂。

什么状态下撕裂最明显?我举个例子:
撕裂22.png

类似这种情况一直持续下去。敏感的人,玩儿一会儿就会觉得不舒服了。

---------------------------------------------------------------

就这,没别的了,停止思考。。。。。。脑细胞最近死了不少。。
StormBolt 发表于 2021-2-24 01:32 | 显示全部楼层
Ivanonline 发表于 2021-2-24 00:20
OK,我感觉我已经理解你的意思了。。(你也没有截个屏啊,标记个箭头啥的,我反复读了好几遍。)

下面, ...

当雷是对面丢过来的,反应更快速理论上是对的,但是第1页的时候我就否认了这是有用的原因,至少不是主因,因为这个时间太小了,缺少实践意义,看得到也不能怎样
但是……虽然人不能怎样,也不妨碍能看到,只是看到的不是单次事件,而是一些细微的不连贯组成的,动起来之后有的人能发现中间似乎少了些什么,有的人未必察觉到,但是把缺的补上能感觉更舒服。
kingyesx1  楼主| 发表于 2021-2-24 01:54 | 显示全部楼层
Ivanonline 发表于 2021-2-24 01:05
没看到楼主已经结贴了。

还是说完吧。画面撕裂如果仅仅从显示器显示的一张图片上是无法体现的。只能动起来 ...

辛苦你了,谢谢仔细读了。

结帖后面的几个回复才是精华

学到东西了。

关键点:CRT的成像时间方式和LCD成像时间和方式的区别(刷新时间差,主要点是成像保持时间)



kingyesx1  楼主| 发表于 2021-2-24 12:40 | 显示全部楼层
Ivanonline 发表于 2021-2-24 01:05
没看到楼主已经结贴了。

还是说完吧。画面撕裂如果仅仅从显示器显示的一张图片上是无法体现的。只能动起来 ...


这是我看了结贴后面回复后再按尽量做差不多样子的图。这是我的理解。你的主机帧是用颜色做的。我的是用数字表示了
上面的每一个小方格就是1帧,尺寸你设1920*1080或者2K或者4K都可以。大小是一样的
虚线呢是主机生成帧时间,我随便拉的。
带颜色的格子才是显示器能显示的内容。

嗯。不知道你能不能看明白
下载 (2).png
Ivanonline 发表于 2021-2-24 17:38 | 显示全部楼层
StormBolt 发表于 2021-2-24 01:32
当雷是对面丢过来的,反应更快速理论上是对的,但是第1页的时候我就否认了这是有用的原因,至少不是主因 ...

我感觉再讨论下去就要涉及游戏交互的原理了。。
肯定会涉及“延迟”这个概念了,包括人的反应,输入设备的传输,网络延迟,服务器怎么判断命中。等等。

你想想,是不是。。

对于我来说,我感觉没必要这么纠结了。。我就60帧开垂直同步玩儿了。。。
Ivanonline 发表于 2021-2-24 17:56 | 显示全部楼层
本帖最后由 Ivanonline 于 2021-2-24 17:57 编辑
kingyesx1 发表于 2021-2-24 12:40
这是我看了结贴后面回复后再按尽量做差不多样子的图。这是我的理解。你的主机帧是用颜色做的。我的是用 ...

说是在的,你这张图我真的看的不是太明白。

这边儿有个资料你看一下。

缓冲区:来源:https://zhuanlan.zhihu.com/p/127974083
还是红字比较重要

-------------------------------------------

缓冲区

显卡渲染好一张画面之后,就会把这张画面储存在显存中的特定位置,这个位置就是“缓冲区”,储存之后显卡才会去渲染下一张画面。

如果显卡每秒钟可以产生120张画面是怎么样的情形呢?很显然,就是每1/120 秒就会有一张画面被存入缓冲区中,下一个1/120 秒,新的画面就会把上一张给取代掉,而这个过程,就是我们玩家都很熟悉的“帧数”概念。




那么现在问题就来了,如果显卡每秒可以产生120 张(即120帧)画面,但显示器每秒只能读取60 张(即60Hz),这会出现什么问题呢?

答案就是:画面撕裂。

2
当今显卡的缓冲区分为两个:前缓冲区和后缓冲区。显卡只会将绘制完的图像写入后缓冲区,与此同时只有前缓冲区中的图像会被发送给显示器。

当后缓冲区中的“新鲜”图像写入完成后,程序不会将后缓冲区的画面传输到前缓冲区,而是会进行缓冲区的交换——将前缓冲区和后缓冲区的名字对调,即前缓冲区成了后缓冲区,后缓冲区成了前缓冲区。这样一来,刚刚绘制在后缓冲区的图像就能顺利地传给显示器了。经过这么一折腾,程序就可以在往后缓冲区写入图像的同时,不影响显卡将前缓冲区中的画面传给显示器,然后进行下一次“缓冲区交换”。

这个过程就是显卡设置中常见的“双重缓冲”。

但是双重缓冲有个问题,两个缓冲区随时都可能发生交换,所以就会出现这种情况:前缓冲区中的画面刚传输了一半给显示器,两个缓冲区就发生交换了,后面传输的都是原来后缓冲区中的画面(即下一帧画面)。于是,显示器上的一幅画面成了前后两帧的结合,这就是画面撕裂产生的原因。
这种问题在高帧率情况下尤为显著,因为帧率越高,前后缓冲区的交换就越为频繁,这种撕裂感自然很招人烦,尤其是在玩游戏的时候。那么有什么解决方式吗?

这就是“垂直同步”的作用了。打开垂直同步选项后,当显示器尚未完成一帧画面的刷新时,两个缓冲区就不允许交换;只有当显示器刷新完一帧画面时,缓冲区才可以进行交换,这样就杜绝了“在进行数据传输的过程中交换缓冲区“的可能,自然也就解决了画面撕裂的问题。

..........
虽然整篇文章讲的是垂直同步啊,画面撕裂啊。但是他提到了缓冲区。
我感觉这篇文章挺有价值的。。






kingyesx1  楼主| 发表于 2021-2-24 19:37 | 显示全部楼层
Ivanonline 发表于 2021-2-24 17:56
说是在的,你这张图我真的看的不是太明白。

这边儿有个资料你看一下。

WINDOWS设置里面有个刷新率,可以高30hz,59.9hz,这个也是限制显示器的帧上限
CRT屏幕刷新率和LCD屏幕的显示方式你上面説过了我了解过。
CRT要用的是PWM显示方式反复刷屏,LCD用的是DC方式显示内容。不需要CRT的刷新率
但WINDOWS设置里面的刷新率对CRT和LCD都有效的。这也是显示器的输出上限

嗯。我晚点改下图。你的图和我的图区别在于你的图没了刷新率限制
而,帧缓存这里我再改下,就是数字位置重新摆下或者用颜色改下
Ivanonline 发表于 2021-2-24 21:26 | 显示全部楼层
kingyesx1 发表于 2021-2-24 19:37
WINDOWS设置里面有个刷新率,可以高30hz,59.9hz,这个也是限制显示器的帧上限
CRT屏幕刷新率和LCD屏幕的显 ...

刷新率.png

我这里只有60

这个刷新率难道不是显卡(或者驱动)和显示器进行“交流”后,得到的显示器可以支持的刷新率吗?

拟人一下。
显卡问显示器:你支持什么刷新率?
显示器:我支持60和144。
显卡:OK,那我就默认刷新率为60了,144的刷新率也是备选项,如果你想用的话在驱动里面选一下就好了。
显示器:OK
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部