Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

ComputeBuffer.BeginWrite

Объявление

public NativeArray BeginWrite(int computeBufferStartIndex, int count);

Параметры

computeBufferStartIndex Смещение в количестве элементов, для которых будет выполняться операция записи
count Максимальное количество элементов, которые будут записаны

Возвращает

NativeArray NativeArray количества размеров

Описание

Начинает операцию записи в буфер

Используйте это, чтобы начать операцию записи в буфер. Использование этого метода приводит к меньшему количеству копий памяти, чем при использовании ComputeBuffer.SetData, и поэтому выполняется быстрее. По соображениям совместимости вы можете вызывать этот метод только для буферов, для которых ComputeBufferMode равно ComputeBufferMode.SubUpdates. Если вы вызовете этот метод для буфера с другим ComputeBufferMode, Unity выдаст исключение.

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

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

После записи в массив вызовите ComputeBuffer.EndWrite, чтобы завершить операцию и пометить возвращенный NativeArray как непригодный для использования.

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

Данные, записываемые в возвращаемый исходный массив, должны соответствовать правилам размещения данных используемого графического API. См. [[Вычислительные шейдеры]] для получения информации о межплатформенной совместимости.

Смотрите так же: ComputeBuffer.SetData, ComputeBuffer.EndWrite

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3