code: function BatchNode (opts) {
      BatchNode.superclass.constructor.call(this, opts)
  
      var size = opts.size || geo.sizeMake(1, 1)
      this.partialDraw = opts.partialDraw
  
      events.addPropertyListener(this, 'contentSize', 'change', this._resizeCanvas.bind(this))
  
      this._dirtyRects = []
      this.contentRect = geo.rectMake(0, 0, size.width, size.height)
      this.renderTexture = new RenderTexture(size)
      this.renderTexture.sprite.isRelativeAnchorPoint = false
      BatchNode.superclass.addChild.call(this, this.renderTexture)
  }
docs: @class
  Draws all children to an in-memory canvas and only redraws when something changes
  
  @memberOf cocos.nodes
  @extends cocos.nodes.Node
  
  @opt {geometry.Size} size The size of the in-memory canvas used for drawing to
  @opt {Boolean} [partialDraw=false] Draw only the area visible on screen. Small maps may be slower in some browsers if this is true.