Detect touch on non transparent area

Is there an easy way to detect touch only on the non transparent parts of a spritenode.
I know that you can use the physicsbody of the spritenode,

but isn't that way to expensive when you got hundreds of nodes in your scene.

Detect touch on non transparent area
 
 
Q