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

GraphicsFence

структура в UnityEngine.Rendering

Выполнено в:UnityEngine.CoreModule

Описание

Используется для управления синхронизацией между задачами в асинхронных вычислительных очередях и графикой очереди.

Не все платформы поддерживают графические ограждения. SystemInfo.supportsGraphicsFence.

A GraphicsFence представляет собой точку в течение GPU асинхронная обработка после завершения вызова определенного вычислительного шейдера или рисования. Она может быть использована для достижения синхронизации между заданиями, выполняемыми в асинхронных вычислительных очередях или графической очереди, с одной или несколькими очередями, ожидающими, пока не пройдет определенный забор. Это важное соображение при работе с асинхронными вычислениями, потому что различные задачи, выполняемые одновременно в графической очереди и асинхронных вычислительных очередях, являются ключом к улучшению GPU результативность.

Вам не нужно использовать графический забор для синхронизации GPU запись задачи на ресурс и другой GPU задача чтения ресурса. Unity обрабатывает эти зависимости ресурсов автоматически.

Вы должны создать графический забор, используя Graphics.CreateGraphicsFence или CommandBuffer.CreateGraphicsFence, иначе Unity вызывает исключение.

Можно создать циклические зависимости, которые заблокируют GPU. Unity обнаруживает циклические зависимости в Редакторе и поднимает исключения, если существуют какие-либо зависимости после вызова следующих команд:

Дополнительные ресурсы: ,CommandBuffer.WaitOnAsyncGraphicsFence,, ,Graphics.ExecuteCommandBuffer,, ,Graphics.ExecuteCommandBufferAsync,, ,ScriptableRenderContext.ExecuteCommandBuffer,, ,ScriptableRenderContext.ExecuteCommandBufferAsync,.

Свойства

Свойство Описание
passedtrue, если выполнение GPU прошло точку обработки, где вы вставили GraphicsFence, в противном случае false.