2 things I guess:
-the evaluation of the expression might be simply taking more time than the actions (don't think conditions are instantaneous, in some cases they take more time that actions).
-the CPU measure of C2 is not accurate enough for a small case (and even for larger ones), it is really a ballpark figure and nothing more, if the difference for the small case is minor, then don't really care about it that much, as the inaccuracy and debug alteration might play a bigger role.
Thanks. Difference is not that huge. But there are some tradeoffs.
The Picking way, Uses less CPU that the For each way, but as the sprite count increases, and seems fairly constant even with large numbers of sprites in the layout.
The for each way gets more heavy as the number of sprites increases, but is using less CPU when the sprite count is low.
i think i have to do some more experimentation on the picking events.
Right now I'm using picking sprites in several steps with conditions.
Condition1, picks only the sprites on screen.
Condition2, picks only the sprites on the specific layer.
Condition3. picks by evaluating only the sprites(in a family) that are above the player.Y & left of player X & distance is less than 150px from player.
Most of the time this limits the picking to 1 or 2 sprites picked.
If all the conditions are met a function is called & Moves the picked sprites to another layer, so they will not be picked again.