我将以我的特定情况为基准,但是我想知道支持或反对进行跟踪的基本论点。
在提交几何实例化矩阵时,假设每个批次都包含一个位置列表,其中“位置”是一个小的“结构”,我们可以:
(A)迭代List<Position>
和List<int>
,然后使用List<int>[i]
的结果执行List<Position>.GetRange(offset, count)
,并提交给GPU
(B)遍历List<List<Position>>
,将List<List<Position>>[i]
提交给GPU。
(假设每批List<Position>.Count
会很小。)
从直觉上讲,(B)看起来在CPU缓存方面会更快,理论上是真的吗?