Need to understand how to show reflected light well with cycles I want to show light reflected from a flat, mirror-like surface onto a diffuse surface. I noticed that even when everything else looks good, the light reflected from the mirror is 100% fireflies. When the roughness is increased a bit, they smooth out quickly to what I would expect. NOTE: mirror is flat - this is not a caustic issue. However, that is the direction I'm going next. Also, I'd like to see how well Blender can do - "just use another rendering program" is not helpful here.


Is there a concise yet accurate way to explain why this happens? I'd like to understand as much as possible.
Is there some particular setting (beyond just "Samples") that I can use to improve the reflected light pattern smoothness (for a given render time)?
Could Light Portals be used to reduce render time for smooth reflected light?


The images below are 100 samples. 1000 doesn't really fix it.

I have found that this answer by @gandalf3 seems to address part of my question already - but I'm still interested in trying everything I can within Blender, before resorting to those measures.



Edit: This Blender Cookie is the best discussion/tutorial I have found so far on ray tracing and nodes in cycles. The .blend file is here.

  

So a ray from the camera hits the "floor" at a certain point (pixel) indicated by a tiny cube. Actually, in the case of a mirror (specular reflection) a similar number of rays from that point would reach the light directly and by reflection. So we can't just say there are "fewer rays". There is something more here.

 

DIfferent areas require very different number of samples. Words describe my impression of how much noise in the direct lit areas, direct shadows, and reflected lit areas.



The .blend file is here.
This is pretty much the worst-case scenario for backwards path tracing.

On contact with the diffuse plane the ray could go in literally any direction, and only a tiny fraction of those directions will hit the glossy object at the right place and angle to rebound into the smallish light source.



To see why increasing the roughness of the glossy material helps, look at it from the point of view the ray right after hitting the diffuse plane:



As you can see, the area which the ray can hit and still find the lamp is much larger even with only .1 roughness. In addition, MIS probably can do a bit more to direct samples to the lamp when there is some roughness and the ray doesn't need to bounce at an exact angle (as is the case with specular reflection).

Note that with enough samples it does eventually converge (in this sense these aren't fireflies so much as noise). Here's a render with 10000 samples: