The problem in this particular scene is the fact that it’s lit mostly by narrow beams of sun on the wall. This is a weakness of Cycles, being a unidirectional path tracer.
Cycles work by shooting light rays through the scene in reverse. This saves greatly on the number of rays needed to complete a render. If rays started from the light sources, most of them would be wasted outside the camera’s view. However, it also makes it harder to find light sources in some situations.
Each ray start from the camera, 1 per pixel each sample. It then gets shot into the scene until it hits a diffuse surface. At that point, the ray will choose a light source that Cycles think is likely to affect that surface and send a shadow ray towards it to verify if that light source does affect that point, or if it’s shadowed from that light. Then, the ray will keep going for the second bounce, re-creating itself in a random direction and continuing until it hits a second surface, where it will also verify if it’s in shadow and so on.
In a scene where you have a patch of sun on the wall, that patch pretty much acts as an area light, except that it’s contained entirely in the second bounce and Cycles doesn’t know it’s there. This means that only the rays that randomly happen to hit that patch of light will successfully contribute to the render, and the other ones get lost and leave the render noisy.
There are a few solutions:
1- Brute force. You can eventually manage to render this kind of scene with higher sampling quality. The most important thing is to increase the “min samples”. In a scene where the noise has lots of dark gaps, you need to have enough min samples for those gaps to fill in with something before the noise threshold kicks in. I think something like this should do it.
2- Path guiding. This feature is available only for the CPU for now, but it’s built to help Cycles find bright patches like this and could help this render. If you switch Cycles to CPU, you will see the option appear in the render settings (in the “sampling” section). Just activate it and render with default settings. It’s going to take much longer to render (mostly because of CPU), but you will get a cleaner result for the same samples. For now, I wouldn’t use this for an animation, but it can be useful for rendering a still image.
3- Cheat the light manually. Actually put some weak area lights on the walls where the patches of light are. This is less realistic and will brighten the scene a little, but it will clear some of the noise.
4- Bake the light to a texture for the wall. This can only be done if your lighting is final and will not change. This is more complicated, but really does help reduce the overall noise in an interior room if your scene allows it, even for objects that aren’t baked.
Here is an example file, with the same room baked and non-baked. You will see how much of a difference it makes, even with only one surface baked.
bake_example.blend (4.6 MB)
here is a thread where I explain the process.