anchor.diff:  
   class TestPerformance extends NodeWithSize {
     final int numFramesPerTest = 100;
  -  final int numTests = 3;
  +  final int numTests = 5;
   
     TestPerformance() : super(new Size(1024.0, 1024.0)) {
     }
  
positive.code:         int totalTestTime = currentTime - testStartTime;
          double millisPerFrame =
            totalTestTime.toDouble() / numFramesPerTest.toDouble();
          print("TEST ${test - 1} fps: ${1.0 / (millisPerFrame / 1000)}");
  
          // Clear test
          removeAllChildren();
  
negative.code:   }
  }
  
  class TestPerformanceSprites2 extends PerformanceTest {
    String get name => "1001 sprites (24% offscreen never added)";
  
    final int grid = 100;
  
    TestPerformanceSprites2() {
      for (int x = 12; x < grid - 12; x++) {
        for (int y = 0; y < grid; y++) {
          Sprite sprt = new Sprite(_spriteSheet["asteroid_big_1.png"]);
          sprt.scale = 1.0;
          sprt.position = new Point(x * 1024.0 / (grid - 1), y * 1024.0 / (grid - 1));
          addChild(sprt);
  
          //sprt.actions.run(new ActionRepeatForever(new ActionTween((a) => sprt.rotation = a, 0.0, 360.0, 1.0)));
        }
      }
  
      Sprite sprt = new Sprite(_spriteSheet["asteroid_big_1.png"]);
      sprt.position = new Point(512.0, 512.0);
      addChild(sprt);
    }
  
    void update(double dt) {
      for (Sprite sprt in children) {
        sprt.rotation += 1;
      }
    }
  }
  
  class TestPerformanceAtlas extends PerformanceTest {
    String get name => "1001 rects drawAtlas (24% offscreen)";
  
    final int grid = 100;
  
    double rotation = 0.0;
  