Unity 6.3
0 онлайн 85 гостей 3 в системе
Вход

Другие способы разогрева шейдеров

Разогрейте шейдеры, если ваша сборка предназначена для графики DirectX 11, OpenGL, OpenGLES или WebGL APIs.

Если в вашем проекте используются графики DirectX 11, OpenGL, OpenGLES или WebGL, то APIs, Unity предоставляют несколько методов нагрева шейдеров в вашем проекте.

Используйте GraphicsStateCollection API (рекомендуется)

GraphicsStateCollection API совместим с DirectX 11, OpenGL, OpenGLES, или WebGL. На этих APIs, GraphicsStateCollection автоматически возвращается к нагреву шейдера. GraphcsStateCollection API является рекомендуемым методом нагрева шейдеров. Чтобы узнать больше о нагреве шейдеров с этим API, см. Нагрев PSOs.

Примечание: автоматическое резервный вариант GraphicsStateCollection доступно в Unity 6.1 и более поздних версиях. Если ваш проект использует более старую версию Unity, используйте альтернативный метод разогрева шейдера, описанный в следующем разделе.

Другие способы разогрева шейдеров

На DirectX 11, OpenGL, OpenGLES, или WebGL графиках APIs, вы также можете использовать следующие методы для разогрева шейдеров:

  • Для разогрева объекта Shader, используйте Experimental.Rendering.ShaderWarmup API.
  • Чтобы нагреть все варианты всех объектов Shader, находящихся в памяти, используйте Shader.WarmupAllShaders API.

Чтобы нагреть коллекцию вариантов шейдера, выполните любое из следующих действий:

Примечание: Эти методы не рекомендуются на Vulkan, DirectX 12, и Metal потому что они могут создать неправильное PSOs из-за отсутствия графических состояний.

Дополнительные ресурсы