I have a project with thousands of lights and got some help from Ludvik, here's my layman's conclusion, devs please feel free to correct me:
- the important thing here is 'light groups' displayed in brackets next to the lights count in the stats
- for light objects and geometry with a LightMtl assigned, a single face counts as a 'light', whereas a mesh consisting of - let's say - 32 faces, counts as 32 'lights' but one 'light group'
- the limit of 255 lights applies to 'light groups'
- example: if you have 1000 spheres with a LightMtl assigned, they'll count as 1000 'light groups' and Corona will use a slower algorithm. Now if you collapse these spheres and you end up with 10 objects, each consisting of 100 spheres, they'll count as 10 'light groups' and will use the faster algorithm.
- the rule is to limit the number 'light groups' to 255
Instances are still separate geometries so they'll still count as separate 'light groups', these would still need to be collapsed to larger groups of objects.
This does not apply to CoronaMtls with self-illumination, these are not handled as lights and are sampled separately.
There may be side effects to this but I'll let this one to the devs to explain in detail. I wish I'd known this earlier and there would be a sticky thread explaining this somewhere (or maybe there is...?)