UGUI 深度按兄弟索引排序有什么问题?我看不到任何改进,但只有缺点
例如,我有一个使用多个对象的 scrollRect 游戏。我的对象有一些图像和一些文字。如果您按以下方式订购它们:
-内容
-目的
-图片
-文本
-图片
-文本
-图片
-文字...等
您将为每个对象获得 6 个 drawCall。对于使用相同字体和相同图像的 10 个对象,您将有 60 个 DRAW CALLS!
好的,你可以如下优化它们
-内容
-目的
-图片
-图片
-图片
-文本
-文本
-文本
...ETC
对于每个对象,您将拥有一批 3 个图像和一批 3 个文本。但是您仍然会为每个对象获得 2 个绘制调用,因此 20 个绘制调用对应 10 个相同的对象。
想象一下,你有 5 个不同的滚动视图,里面有对象(就像我一样),有 5 个可见的对象,每个对象都比图像组件和文本组件复杂一点。事实上,我有以下层次结构。
-目的
-文本(1次抽奖)
-图片
- 图像(1 个绘图调用 - 与上面的一个批处理)
-文本(1次抽奖)
-图片(1次抽奖)
-文本(1次抽奖)
-图片(1次抽奖)
-文本(1次抽奖)
我不能修改层次结构,因为有些图像是按钮,为了保持它们的文本清晰并以每个纵横比为中心,它们需要成为按钮的子元素并锚定到它们。我的对象生成 7 个绘图调用,并且在 5 个不同的滚动视图上有 5 个可见对象使我达到 7 * 25 = 175 个绘图调用。
现在,使用基于 z 的深度,我们将只有 2 个绘制调用。因此我的问题出现了,这种方法有什么问题?为什么Unity会这样做?这是否有积极的结果,我太盲目了,看不到它?