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

IDeviceContext.WriteBuffer

Declaration

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

Параметры

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

Описание

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

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

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

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

// Prepare data and write to buffer
using var inputData = new NativeArray<float>(512, Allocator.Persistent);
for (int i = 0; i < inputData.Length; i++)
    inputData[i] = i * 0.5f;

var writeEvent = context.CreateEvent(); context.WriteBuffer(bufferSlice, inputData, writeEvent); context.Flush();

// Wait for write to complete before using the buffer context.Wait(writeEvent); context.DestroyEvent(writeEvent);