ZRender中Group重复添加同一个显示元素,是否有额外性能开销?

二维绘图引擎ZRender中Group是一个容器,可以插入子显示元素。Group重复添加同一个子元素,不会有额外性能开销。

满足三个条件,ZRender才会真正执行添加(add)操作:

  1. 子元素(child)存在
  2. child不是Group自身
  3. child父容器不是Group

源码如图:

一般来讲,对于渲染引擎,增删子元素是很常见的基础操作(addChild),如果重复添加子元素有额外性能开销,可以判定为低级错误。

尽管引擎会拦截无效操作,但对于开发者而言,最好避免这样的操作,提前加上判断,逻辑一定要严谨。

(版权归cpury.com所有,转载请注明出处。)