notice there's a gap between successive particle ring pulses? you can see it best at the outer edge of the rings. thats because there was enough of a gap between logic updates that the ring was able to skip that far away without being updated. i was like... wtf?
well i realized that if the time between: (the start of the last loop) and (the start of this loop), msecsElapsed, was big enough, giving it right to the update functions (read: pos += vel * msecsElapsed) would mean big jumps. so what if instead, i run the logic a whole bunch of times, msecsElapsed/minTimeSlice times.. and then do the draw after that? it seems to me i shoulda been doing it that way all along. well, the results boggled my mind. i actually had to reduce the output window size so i could get something meaningful:
when both cores are exploding, the rings produce a total of just about 40,000 particles for the game to draw. and it tries drawing every one, without trying to cull! (allegro's smart enough not to draw outside the bitmap) but i'm still running through that many! there isn't any logic skipping now, and thats a plus (i gotta put that in my template), but look at that! 13fps really shows what 40,000 particles plus two fairly large pivot_sprite is like on my compy. you guys might pull some better frames than that, but man i gotta cut back on the particles!