Unity | 优化(一):V Sync Count

1. 点击Unity->Edit->Project Setting->Quality,打开QualitySetting面板,有一个V Sync Count参数,该参数表示垂直同步。它有三个值可以选择:

  • Don't Sync:不设置垂直同步,需要通过代码Application.targetFrameRate来指定帧率
  • Every V Blank:帧率为60,Application.targetFrameRate无效
  • Every Second V Blank:帧率为30,Application.targetFrameRate无效

2. Application.targetFrameRate:设置该值不能保证帧速率为目标值,可能由于平台的特殊性而出现波动,或者由于计算机速度太慢,游戏可能无法达到帧速率。它有三个特殊值:

  • Application.targetFrameRate=-1:使游戏尽可能快地渲染
  • Application.targetFrameRate=30:一般在手机游戏中,设置帧率为30
  • Application.targetFrameRate=60:网页播放器游戏的渲染速度一般为50-60帧/秒

3.打开垂直同步能防止游戏画面高速移动时画面产生撕裂现象。

我们平时运行操作系统一般显示器刷新率是在85左右,显卡会按照每85的频率时间来发送一个垂直同步信号,如果我们选择“等待垂直同步信号”(也就是我们平时所说的“垂直同步打开”),那么在游戏中,或许强劲的显卡迅速的绘制完一屏的图像,但是没有垂直同步信号的到达,显卡无法绘制下一屏,只有等85单位的信号到达,才可以绘制;而如果我们选择“不等待垂直同步信号”(也就是我们平时所说“关闭垂直同步”),那么游戏绘制完一屏画面,显卡和显示器无需等待垂直同步信号,就可以开始下一屏图像的绘制,自然可以完全发挥显卡的实力。

正是因为垂直同步的存在,才能使得游戏刷新率和显示器刷新率同步,使得画面平滑,使得画面稳定。取消了垂直同步信号,固然可以换来更快的速度,但是在图像的连续性上,性能势必打折扣。

通常渲染要慢的多,开了垂直同步,计算机就会等待上一张图片渲染完成后才会发出开始下一张渲染的命令;不开垂直同步,那么计算机就急不可待的想把算好的结果渲染在屏幕上,这样就容易出现上一张还没有渲染完,又来新的图来覆盖,时间差大到一定程度就会出现屏幕撕裂。

4.最近做的项目是基于2D的一个工具类项目,所以设置为30帧即可。

 

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烫青菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值