I experimented with this at one point.
It seems like the way construct works is that it renders objects in the order of their uid. If there is a string of the same object type occupying a range of uid values (say, 1 thru 100), some optimizations kick in (don't exactly know what).
OTOH, if they are all jumbled, the renderer is constantly switching to a different object, and it slows down the draw calls. Thus, if you have a lot of objects that are spawned randomly, draw calls go up, even if you only have a couple different types of objects.
I imagine having the same object with each instance having a different frame would cause a drop in performance compared to the same object with each instance having the same frame. But I could be wrong, as I haven't experimented with this.
Here's the thread I started where this was discussed:
Ashley's response partly covers what I'm talking about above, except for the UID sorting, which I inferred from my own tests.