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

IDeviceContext.Flush

Declaration

public bool Flush();

Возвращаемое значение

логическое True, если операция сброса была успешной.

Описание

Инициирует выполнение всех очередных операций на устройстве.

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

Этот метод возвращается сразу же после передачи операций на устройство. За неблокирующими операциями, которые создают событие, может следовать вызов IDeviceContext.Waitдля выполнения блокирующего ожидания до завершения события. Используйте IDeviceContext.IsCompleted для определения завершения события, созданного асинхронной операцией.

Примечание по производительности: Вызов Flush один раз после очереди нескольких операций, а не после каждой отдельной операции для повышения производительности.

// Enqueue multiple operations
context.WriteBuffer(slice1, data1, event1);
context.WriteBuffer(slice2, data2, event2);
context.ReadBuffer(slice3, data3, event3);

// Submit all operations for execution bool flushSuccess = context.Flush(); Assert.IsTrue(flushSuccess);

// Wait for all operations to complete context.Wait(event1); context.Wait(event2); context.Wait(event3);