Nice to see you got some improvement. Yeah, more draw calls than expected can be surprising. I’ve read somewhere some very simple example that logically should have taken 1 draw call but instead it took 6 - unfortunately I can’t remember where I’ve read that so I can give it as an example.
Anyway, here, here, here, here and here you can find other interesting and potentially useful information, tests and some nice tools regarding performance when it comes to Three.js in general. Maybe it would be of some use.
Oh, and yeah, adjusting the camera near and far values is among those tips and tricks. Which reminds me that in my current project, my camera near is at 0.00001 and the camera far is at 720000, so at some point in time maybe I should see how performance is affected by that… Fortunately, I don’t have so much stuff to render (in theory) and the impact is not yet substantial, so I can postpone that once the main work is finished.