One impetus for the engine rewrite I’ve been working on is that people have wanted the option of using Corona’s native transitions and translations for moving sprites around. One reason people want this is because the native functions are faster than MTE’s movement functions. I did not think this would be the case, but I quickly saw that it is. While you could use transitions in MTE 0v956, design decisions in the culling system made it a tricky prospect. The next release, coming in January, has a totally redesigned culling system and other changes to make Corona transitions the default, recommended way to move sprites.
Here is an example of the performance disparity. The first segment of the video shows MTE 0v956 moving 200 sprites around using mte.moveSpriteTo(). The second segment shows MTE 0v980, again there are 200 robots, but they’re moving by Corona native transitions. The third segment shows MTE 0v980 again, but this time there are 400 robots. The FPS is displayed in the top left corner; the first segment averages about 27 fps, the second segment achieves double that at about 55 fps, and the third segment hums along at 34 fps even though there are twice as many robots as the first.
[media]http://www.youtube.com/watch?v=LItGIWTt55k[/media]
The new engine rewrite also fully supports graphics 2.0. Corona’s new API for deforming display objects allows for some interesting new effects. In this example a heightMap (a table of values- not an image) is applied to a layer. Both the contents of the layer and the contents of the heightMap are generated by MTE’s new Perlin Noise function.
[media]http://www.youtube.com/watch?v=Oi6NFqxMwds[/media]
All examples are running an a Samsung Galaxy Tab 10.1, powered by the old Tegra 2.