【问题标题】:Does #pragma exclude_renderers increase performance?#pragma exclude_renderers 会提高性能吗?
【发布时间】:2016-12-22 10:13:53
【问题描述】:

我想我在文章的某个地方听说过,但已经忘记了。它说如果我排除渲染器,着色器的性能会更好,因为它会跳过检查。是真的吗?

例如:

#pragma exclude_renderers d3d11_9x xbox360 xboxone ps3 ps4 psp2

【问题讨论】:

    标签: unity3d glsl shader hlsl


    【解决方案1】:

    exclude_renderers 的目的是改善着色器编译时间,但它也使您能够使用某些平台上不可用的一些语言功能。来自manual

    您可以使用#pragma 指定要编译到的渲染器 only_renderers 或 #pragma exclude_renderers 指令。这主要是 在您明确使用某些着色器语言的情况下很有用 您知道某些平台无法提供的功能。

    【讨论】:

    • 增加着色器编译时间?那么它会影响性能吗?
    • 哎呀,我的意思是“改善”或减少。
    • 好吧,现在说得通了,但是着色器编译什么时候发生呢?是在编辑器上吗?建造时间?或者在运行应用程序时?。
    • OpenGL 着色器在运行应用程序时必须至少编译一次,但 D3D 着色器可以在构建时编译。
    猜你喜欢
    • 2013-04-12
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 2010-10-23
    相关资源
    最近更新 更多