Thank you guys for your feedback!
skymen also mentioned that putting a check before a collision removes the collision cell optimizations, with
BeatsByZann that did some testing on this.
I also thought, as
dop2000 , that filtering before a loop is more efficient because it makes the SOL much smaller and that loops are very resource intensive.
R0J0hound great ideas, thank you! But why skip the Else though? I always use it because I think an else is always cheaper than doing something on the same tick again, just to be replaced. In your example you set the opacity to 33 each time, and if it's overlapping it gets replaced from 33 to 100 (basically setting the opacity on the same sprite twice in that tick).
It's less code and it looks cleaner that's for sure.