zoukankan      html  css  js  c++  java
  • Unity targetFrameRate 渲染帧率修改

    原文地址:https://docs.unity3d.com/ScriptReference/Application-targetFrameRate.html

    描述:  

         指示游戏尝试以指定的帧率进行渲染(渲染帧率)。

         默认的targetFrameRate是一个特殊值-1,它指示游戏应以平台的默认帧率进行渲染。此默认速率取决于平台:

         - 在独立平台上,默认速率是最大可达到的帧速率。

           - 在移动平台上,由于需要节省电池电量,因此默认帧率小于最大可达到的帧速率。通常在移动平台上,默认帧率为每秒30帧。

      - 所有移动平台都具有针对其最大可达到帧率的修正上线,该上线等于屏幕的刷新率(60Hz=60fps,40Hz = 40fps,...).Screen.currentResolution 包含屏幕的刷新率

      - 此外,所有移动平台只能在VBlank上显示帧。因此,您应该将targetFrameRate设置为-1,或者将其设置为等于屏幕的刷新率,或者将刷新率除以整数。否则,结果帧率始终低于targetFrameRate。注意:如果将targetFrameRate设置为刷新率除以整数,则整数除法将导致与将QualitySettings.vSyncCount设置为该整数相同的值相同的有效fps。

          - IOS会忽略QualitySettings.vSyncCount设置。取而代之的是,设备在帧准备就绪并且应用程序达到targetFrameRate之后,会在第一个可能的VBlank上显示帧。

          - 在WebGL上,默认值使浏览器可以选择帧率以匹配其渲染环定时,这通常会产生最平滑的结果。仅当要限制WebGL上的CPU使用帧率时才建议使用非默认值。

        - 使用VR时,Unity将使用SDK指定目标帧率,并忽略游戏指定的值。

      设置targetFrameRate不能保证将获得帧速率。由于平台的具体情况,可能会有波动,或者游戏可能无法达到的帧速率,因为设备太慢。

           此外如果设置了QualitySettings.vSyncCount属性,则将忽略targetFrameRate,游戏将使用vSyncCount和平台默认渲染速率来确定目标速率。例如如果平台的默认渲染速率为每秒60帧,而vSyncCount设置为2(在Quality Setting 面板中对应的名字是 Every Second V Blank)

      在编辑器中targetFrameRate仅影响游戏视图,对其他编辑器没有影响。

        public void class Example
        {
            public void Start()
            {
                //如果你想自定义渲染帧率,必须将vSyncCount设置为0或者在QualitySetting面板中将V Sync Count 选为Don't Sync
                QualitySettings.vSyncCount = 0;
                Application.targetFrameRate = Screen.currentResolution.refreshRate / 4;
            }
        }

      

  • 相关阅读:
    nginx http和https共存
    jQuery prop方法替代attr方法
    idea内置tomcat中java代码热更新
    Linux磁盘空间查看、磁盘被未知资源耗尽
    Mysql order by与limit混用陷阱
    IIS 架构解析
    asp.net MVC 应用程序的生命周期
    Linq专题之var关键字
    ThoughtWorks 2016年第1期DNA活动总结
    对象的深拷贝--反射
  • 原文地址:https://www.cnblogs.com/sy-liu/p/14031787.html
Copyright © 2011-2022 走看看