If your collisions are pixel-perfect (ImagesCollide), you might be able to shave off a few seconds by performing a box-collision check (ImagesOverlap) first. If that fails, there's no need to perform a pixel-perfect check.
I haven't actually tested this, but it should help.
I haven't actually tested this, but it should help.