使用 OnDemandRendering 类来控制和查询应用程序渲染速度的信息,使其独立于所有其他子系统(例如物理、输入或动画)。
如果您在 Android 上将此与优化帧速率配合使用,并且您也使用 OpenGL ES,则当帧速率为每秒 20、30 或 60 帧时,优化帧速率最有效。为了确保以这些帧速率之一进行渲染,请使用 OnDemandRendering.effectiveRenderframerate。
Vulkan 限制较少,允许更多有效的帧速率。
如果您请求不兼容的帧速率,应用程序将以尽可能高的帧速率进行渲染。但是,如果 renderFrameInterval 太高,应用程序可能会变得无响应,因为渲染帧之间的时间也会变得太长。
关于事件执行的说明
上的图表此页面描述了每帧事件的执行顺序。但是,渲染相关的事件(包括场景渲染、Gizmo 渲染、GUI 渲染和帧结束部分)不会在 Unity 不渲染的帧期间发生(当OnDemandRendering.willCurrentFrameRender为假时)。
effectiveRenderFrameRate | 当前估计的渲染速率(以每秒帧数表示),四舍五入到最接近的整数。 |
renderFrameInterval | 获取或设置当前帧速率间隔。要将渲染恢复到 Application.targetFrameRate 或 QualitySettings.vSyncCount 的值,请将其设置为 0 或 1。 |
willCurrentFrameRender | 如果当前帧将被渲染,则为真。 |