版本: Unity 6 (6000.0)
语言英语
  • C#

OnDemandRendering

UnityEngine.Rendering 中的类

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

描述

使用 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如果当前帧将被渲染,则为真。