图集测试

本次测试,我们要验证如下几点问题:

  1. 同一图集下的图片渲染时,只需要一次drawcall。
  2. 图集中的图片所在的节点,如果其子节点中还包含其他图片(非图集图片或其他图集图片),则图集的渲染减少效果将失效。
    例如:同一个节点下,有图集的图片1和图片2。那么渲染drawcall是1次,
    例如:同一个节点下,有图集的图片1和图片2,其子节点中还有非图集中的图片3。那么图集起的效果失败。drawcall将会是3,而不是2。
验证1:

图集测试
文章图片
image.png
图集测试
文章图片
image.png
图集测试
文章图片
image.png
这时候图片都是散图,不是图集,我们运行,看到对应的drawcall: 2
图集测试
文章图片
image.png
接下来,我们将这两张图片打在一个图集中。
图集测试
文章图片
image.png
然后,修改图片节点所取的图片为图集中的图片。
图集测试
文章图片
image.png
图集测试
文章图片
image.png
再次运行,我们看到对应的drawcall变成了1
图集测试
文章图片
image.png
问题1验证通过。
【图集测试】验证2:

图集测试
文章图片
image.png
同层级下,节点scrollviewbg取散图。
节点goldcoin、gold分别取图集里的图片。
这时候,图集效果没有失效,运行时drawcall还是2次,

图集测试
文章图片
image.png 接下来,我们将一个图集图片节点和散图图片节点,放在同一个节点下。如下两种情况:

图集测试
文章图片
image.png
图集测试
文章图片
image.png 再次看运行结果:

图集测试
文章图片
image.png
drawcall变成了3次。 图集的批处理效果失效了。

    推荐阅读