返回介绍

Shader.WarmupAllShaders 预加载所有着色器

发布于 2019-12-18 15:38:31 字数 1621 浏览 1069 评论 0 收藏 0

JavaScript => static function WarmupAllShaders(): void;
C# => static void WarmupAllShaders();

Description 描述

Fully load all shaders to prevent future performance hiccups.

完全加载所有着色器,以防止将来性能卡顿。

Usually graphics drivers do not actually prepare shaders until they are first needed. However when some object is first rendered with a previously unused shader, there can be a hiccup because the driver is compiling/optimizing the shader. This can be quite noticeable, especially on mobile platforms.

通常显卡驱动程序不实际预加载着色器,直到第一次需要。然而,当某些物体是第一次被渲染一个以前未使用的着色器,可能有卡顿(游戏画面停顿),因为显卡驱动程序正编译/优化着色器。在移动平台,这可能相当明显。

Calling this function will perform dummy one-invisible-triangle rendering with all variants of all currently loaded shaders. This can take some time but helps to avoid hiccups in the future. Generally it is better to use ShaderVariantCollection for a more granular shader warmup control.

调用这个函数将执行虚拟one-invisible-triangle渲染,所有当前加载的着色器队列。这可能需要一些时间,但有助于避免在未来的卡顿。一般最好使用ShaderVariantCollection更细粒度的着色器预热控制。

Please be aware that this function will only warmup shaders that are currently loaded. If you use Resources.Load to load shaders, you will need to call WarmupAllShaders again.

请注意,这个函数只会预热当前加载着色器。如果你使用Resources.Load加载着色器,您将需要再次调用WarmupAllShaders。

See Also: ShaderVariantCollection for a more granular shader warmup control.

另见:ShaderVariantCollection

Shader

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文