Why is Cycles caustics so bad?

was running some very simple tests with gemstone primitives and a sun light, between luxrender and cycles. Cycles caustics was a very poor half job at trying to display the caustics… Luxrender showed accurate clear caustics…
Is there any timeline as to when cycles will be updated to compete with the big boys like mental ray, vray, luxrender etc?

Cycles is a unidirectional path-tracer, which is a method that works very well for animation and allows for a wide range of creative material effects, but is not near as good for advanced lighting effects such as caustics.

In Luxrender you have metropolis and bidirectional sampling, which excels at caustics and indoor scenes, but is weaker at easier lighting scenarios (not to mention how it makes various creative material effects much harder to implement).

To help with caustics, you can try the filter glossy setting (values such as 0.2 will make the caustics render out a bit faster without destroying them).

Cycles isn’t modeled after these “big boys”, it’s modeled after Arnold. Arnold has been a huge success in major pictures and it doesn’t support caustics well, either. They haven’t addressed this problem much, because their customers don’t seem to care.

Unless you’re rendering jewellery, wine glasses or pools, caustics either don’t matter or are causing problems. If you really need them in your scene - use another renderer, or fake it.

There are a lot of benefits in not using complicated bidirectional/MLT solutions like in Luxrender: Simpler code, more flexible shaders, more straightforward GPU support and (most importantly) temporally stable animations. Also, this stuff requires even more sophisticated developers than a simple path tracer, while Cycles doesn’t have a lot of developers to begin with.

As for going with “biased” methods like Mental Ray, Vray: Have you ever used these renderers? There’s a nightmare load of settings (some of them legacy) you have to tweak to get a temporally stable result. By the time you’ve arrived at a setting that isn’t going to bite you in a final render, your render times are probably not that far from a Cycles frame. That’s precisely the reason why people choose Arnold over Vray etc. - artist time is more expensive than computer time. Of course, if you’re just rendering a still, you don’t care about temporal coherence, but Cycles has been designed for animation and therefore has different tradeoffs.

oh right. i see.

Use Luxrender if you want realistic lighting. You can try as hard as you want with Cycles and still fail.