NativeArray и с чем его едят.

Программирование на Юнити.

NativeArray и с чем его едят.

Сообщение Axil 09 окт 2019, 17:11

А могу я хранить всегда свои данные в NativeArray? Изменять их и когда нужно - отправлять сразу в другой поток для обработки.
Его можно создать с Allocator.Persistent тогда не нужно будет делать Dispose в том-же кадре. Хочу сэкономить на копировании.
Или это извращение? Обращение к NativeArray дольше или быстрее чем к С# array?

PS: Вроде-бы фигня скопировать byte[16,16,16] в NativeArray, а жрёт 0,2 - 0,3 ms, как-то дофига для копирования.
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: NativeArray и с чем его едят.

Сообщение Axil 09 окт 2019, 20:14

Из-за того что NativeArray нужно будет хранить "вечно", он Allocator.Persistent, а это значит что он совсем не обязательно лежит в одном куске памяти последовательно и его индексация будет работать медленнее. Так что никакого выигрыша из-за отсутствия копирования может и не быть и даже наоборот.
Дилемма... :-\
А вы как думаете?
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: NativeArray и с чем его едят.

Сообщение Cr0c 10 окт 2019, 01:48

A NativeArray exposes a buffer of native memory to managed code

Причём тут поток, когда это для обхода маршаллинга?
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: NativeArray и с чем его едят.

Сообщение Axil 10 окт 2019, 01:55

Cr0c писал(а):
A NativeArray exposes a buffer of native memory to managed code

Причём тут поток, когда это для обхода маршаллинга?


Не только, вот:
A NativeContainer is a managed value type that provides a relatively safe C# wrapper for native memory. It contains a pointer to an unmanaged allocation. When used with the Unity C# Job System, a NativeContainer allows a job to access data shared with the main thread rather than working with a copy.
https://docs.unity3d.com/Manual/JobSyst ... ainer.html
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13