Hi, for my rubiks cube, I timed the average time to do a repaint for each 'animated frame' of a twist of the cube.
Strangely, this starts off at about 16ms, then after several twists goes down to 12ms. I can't see why this happens, possibly an impossible question to solve without experimenting with code, but is there any obvious reason for this?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
I have had the same phenomonon with AffineTransforms, which run faster the second time they are executed. Probably JIT (="just in time") compilation; when the HotSpot machine recompiles the repeatedly-used code, it runs faster.
Also, the first time through it may still be loading some classes. This is pretty much normal behavior for Java programs - the Just in Time compiler makes things faster as they run more.
I thought it still maybe doing some other work, but if I leave it for a minute after everything is loaded and ready to use, it still starts at 16ms, not a big deal.
I rather know that it isn't a fault with the code, and that its just one of those things.