找回密码
 立即注册
搜索
查看: 6068|回复: 15

[软件] 不懂就问一个“最大预渲染帧数设置”究竟是什么

[复制链接]
头像被屏蔽
     
发表于 2018-10-22 23:45 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2018-10-25 22:08 | 显示全部楼层
虽然我也不清楚这个设置的机制,但看了这个帖正好解决了我玩游戏GPU占用不满的问题
回复

使用道具 举报

     
发表于 2018-10-25 22:14 | 显示全部楼层
不懂,我只知道玩FPS游戏这个设置能有多低就设多低,预渲染帧数越多输入延迟就越大
回复

使用道具 举报

发表于 2018-10-26 00:04 来自手机 | 显示全部楼层
因为随着游戏场景变化,每一帧的CPU负载是不同的,就会出现随着场景变化,在一部分时间内CPU负载过大,没法及时进行预渲染,导致场景移动过程中画面出现停顿的问题。解决办法就是让CPU预先多渲染几帧放缓存里,当某一时刻CPU渲染速度跟不上时,GPU也是渲染缓存内的帧,这样GPU的输出就保持了恒定,画面也就不会突然出现停顿了。代价就是存在一定的延迟,因为CPU需要根据鼠标键盘的输入确定场景,进行预渲染。

—— 来自 Xiaomi MI 8 Lite, Android 8.1.0上的 S1Next-鹅版 v2.0.4
回复

使用道具 举报

     
发表于 2018-10-26 03:02 来自手机 | 显示全部楼层
原来会有延迟,以前都是挂满的

—— 来自 Sony F5321, Android 7.1.1上的 S1Next-鹅版 v2.0.4
回复

使用道具 举报

     
发表于 2018-10-26 07:22 来自手机 | 显示全部楼层
就是在显卡里面渲染完了不画出来,多存几帧,提高帧率稳定性。后果就是响应有延迟,玩fps会容易晕
回复

使用道具 举报

     
发表于 2018-10-26 07:37 来自手机 | 显示全部楼层
这个说明的意思是,gpu在处理帧数的时候,由cpu辅助渲染的提前帧数,gpu性能不足的时候,cpu辅助下帧数更稳定,但是会导致cpu处理其他资源更慢,高帧率下cpu就不要处理渲染了,所以鼠标键盘延迟更低,这就是为啥n卡更吃cpu的原因?
回复

使用道具 举报

     
发表于 2018-10-26 07:38 来自手机 | 显示全部楼层
CPU牛逼,调小,鼠标点击到眼睛看到的画面延迟低。CPU一般般,调大,鼠标点击到眼睛看到画面延迟大。但是这参数很长时间一直都是3啊。。。看不懂的参数不要调,这说法没错。。。这参数应该在最近的VR里比较有用吧,VR对渲染延迟要求太高了。。。
回复

使用道具 举报

     
发表于 2018-10-26 07:48 | 显示全部楼层
这玩意就是提前渲染,多存几帧,稳定画面输出。
提前渲染?难道能知道未来...
不是的,其实这些画面是你鼠标键盘操作后过了几帧后才显示到屏幕的...
所以会有鼠标键盘动了,怎么画面过会才反应的问题...
这个设置一律改1吧,在打fps dnf lol之类的游戏可以明显感觉到跟手了。

VR设备也对这个很敏感,nv做了很多优化吧,默认的VR预渲染设置就是1。
针对笔记本双显卡,即便独立显卡绘制游戏画面,最终信号是给集成显卡才多屏幕的...
这中间是有延迟的,VR设备对延迟非常敏感,所以笔记本双显卡带VR的,
输出接口都是直连独立显卡输出的,不过集成显卡,以降低画面延迟。
回复

使用道具 举报

     
发表于 2018-10-26 09:05 | 显示全部楼层
马克一下  现在用1230v2+1070  好几个游戏都遇到帧数低同时gpu占用也低的情况  回头试试

  -- 来自 能看大图的 Stage1官方 Android客户端
回复

使用道具 举报

     
发表于 2018-10-26 09:45 | 显示全部楼层
意思挺好理解的,比如原来是渲染一帧放一帧,但这样一旦出现什么情况导致某一帧时间长一点,结果就是无法按时放出来,人眼看到的感觉就是掉帧了

现在渲染完不马上放出来,而是缓存下来,缓存过2,3帧后,再开始放,这样一旦某一帧时间长了,可能先用缓存的顶上,这样只要后面的不是一直时间长,就能补回来,表现为流畅,但相应的,你的操作是在渲染时就处理了,不马上放而是缓存的话,就会有时间延迟
回复

使用道具 举报

发表于 2018-10-26 16:19 | 显示全部楼层
感谢,改成1以后dota2帧数极大提升
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2018-10-28 20:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2018-10-28 21:17 | 显示全部楼层
SaaB35 发表于 2018-10-28 20:07
大致明白了

看来也是根据硬件来决定的

你要占满gpu,不用开预渲染,把同步模式从 同步(vsync/half/gsync) 改成快速(fast)就行了。这时候显卡完全不预先渲染,而是全力渲染每一帧,然后没有缓存直接输出,如果显示器还在显示帧a0,帧a1已经完成渲染,但是帧a2也渲染好之后,直接把帧a2给显示器,丢掉帧a1。
回复

使用道具 举报

头像被屏蔽
     
发表于 2018-10-28 21:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2018-10-29 01:14 | 显示全部楼层
从文字来看,应该就是多缓冲,预先渲染N帧,在第N+1帧的时间上看到的是第0帧的画面,会有N帧的延迟。
非常老的技术了,在以前cpu和gpu性能不够强的时代,在等待backbuffer被flip到frontbuffer时不做同步,cpu直接去做下一帧的渲染,由扫描返回中断来负责进行buffer chain的切换。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-17 03:40 , Processed in 0.076125 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表