#c# #unity3d #cpu-cache
#c# #unity3d #cpu-cache
Вопрос:
Я собираюсь сравнить мой конкретный случай, но я хочу знать основной аргумент за или против выполнения следующего.
При отправке матриц для создания экземпляра геометрии, предполагая, что каждый пакет содержит список позиций, где Position — небольшая структура, мы могли бы:
(A) Выполните итерацию по a List<Position>
и a List<int>
и используйте результат List<int>[i]
для выполнения List<Position>.GetRange(offset, count)
отправки в GPU.
(B) Выполнить итерацию по List<List<Position>>
, отправить List<List<Position>>[i]
на графический процессор.
(Предполагается, что List<Position>.Count
каждый пакет будет довольно маленьким.)
Интуитивно кажется, что (B) было бы быстрее с точки зрения кэширования процессора, верно ли это в теории?