Image Collision Detection Recommendations

I currently have a working implementation of image collision detection for .pngs with alpha and making sure their non-alpha pixels collide. It is very slow however.

This is the example I originally learned from. I’ve got various versions of this for my code. Partial collision and 100% collision. 100% collision takes longer as it requires going though every pixel to ensure total collision.

This is done at loading a new game. Detecting collision between 1000ish+ images ranging from 10x10-300x300 takes upwards of 40 seconds. If I turn off collision, the load time drops to a few seconds.

Can anyone suggest a faster way to detect collision between images contents? Or is this actually a decent speed? I’d expect we can do better.