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

IDeviceContext.ReadBuffer

Declaration

public void ReadBuffer(BufferSlice<T> src, NativeArray<T> dst);
public void ReadBuffer(BufferSlice<T> src, NativeArray<T> dst, LightTransport.EventID id);

Параметры

Параметр Описание
сердце Буферный фрагмент, указывающий исходные данные на устройстве.
дст Массив назначения в памяти CPU. Должен оставаться действительным до завершения операции.
Идентификатор Необязательное событие ID для отслеживания завершения операции чтения.

Описание

Асинхронное копирование данных из буфера устройства в память узла.

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

Место назначения NativeArray<T0> должно оставаться выделенным и неизменным до завершения операции чтения, как указано событием.

Предупреждение: экземпляры EventID являются одноразовыми. Не используйте повторно событие, переданное этому методу.

// Read data from buffer with event tracking
using var outputData = new NativeArray<int>(1024, Allocator.Persistent);
var readEvent = context.CreateEvent();
context.ReadBuffer(bufferSlice, outputData, readEvent);

// Start execution and wait for completion context.Flush(); bool success = context.Wait(readEvent); Assert.IsTrue(success);

context.DestroyEvent(readEvent); // outputData now contains the buffer contents