face detection is slow, and it gets worse with larger images, but you can try to:
- use a lbp cascade instead of a haar one (they're much faster!)
- optimize detectMultiScale params ,like:
- increase the scale factor (less iterations)
- set a proper maxSize() (again, less iterations)
- drop frames, now and then. (maybe you do not need to detect a face in each frame)