Any sort of attachments will slow down indexing a bit because they need to be extracted and individually processed. However, I wouldn’t expect pictures to add much overhead because they have very little associated text (compared with, say, a big PDF file).
There’s some information here about how to enable logging for message indexing, which might give some clues about what’s causing the slowness.
300 .eml files in a folder is no problem, but, yes, for large numbers it will be noticeably more efficient to use mailboxes.