在英特尔的剥离采矿示例中:
为什么不将Transform和Lighting合并为一个循环?它可以解决缓存驱逐问题。
有人在评论中提出了同样的问题,但没有答案。
如果分裂循环以某种方式更快......为什么?我们应该在什么条件下拆分循环?
我浏览了几篇关于分裂循环的帖子,但我仍然没有得到它。
答案 0 :(得分:1)
如果只能对这些操作中的一个进行矢量化,那么组合它们可以防止循环的矢量化。在这种情况下,将阵列分成高速缓存大小的条纹会更好。我不知道这是否适用于Transform
和Lighting
。如果没有,那么它们可能不一定是示范的好例子。
当循环是部分可矢量化的(是一个单词?)而部分不是,裂变*通常是要走的路。
*拆分实际上是根据wikipedia
在文章中使用的技术的名称