message: test: optimize ssr case
diff: zr.add(group);
  }
  - // Transform animation with multiple keyframe
  + // Transform animation with multiple keyframe and easing
  for (let i = 0; i < 10; i++) {
  const el = new zrender.Circle({
  x: i * cellSize + cellSize / 2,
  });
  el.animate(null, true)
  .when(1000, {
  - scaleX: 1.2,
  - scaleY: 1.2
  - })
  + scaleX: 0.2,
  + scaleY: 0.2
  + }, 'sinusoidalInOut')
  .when(2000, {
  scaleX: 1,
  scaleY: 1
  - })
  - .start();
  + }, 'sinusoidalInOut')
  + .start()
  zr.add(el);
  }
  zr.add(el);
  }
  - // Perframe easing animation
  - for (let i = 0; i < 10; i++) {
  - const el = new zrender.Circle({
  - x: i * cellSize + cellSize / 2,
  - y: cellSize * 11 + cellSize / 2,
  - shape: {
  - cx: 0,
  - cy: 0,
  - r: elSize / 2
  - },
  - style: {
  - fill: 'red'
  - }
  - });
  - el.animate(null, true)
  - .when(1000, {
  - scaleX: 0.2,
  - scaleY: 0.2
  - }, 'sinusoidalInOut')
  - .when(2000, {
  - scaleX: 1,
  - scaleY: 1
  - }, 'sinusoidalInOut')
  - .start()
  - zr.add(el);
  - }
  -
  -
  console.time('render');
  const svg = zr.painter.renderToString();
  document.getElementById('main').innerHTML = svg;
  