Rays per second too low

There are several measures of rendering performance other than “how long do I need to wait for the noise to go away”, that can be used for performance debugging, (i.e. determining why a scene is taking too long to render). One of them is "rays per second" displayed in the renderstamp and/or in the “Stats” panel of the Corona VFB.

Rays per second is the basic measure of the renderer's raw, brute force performance. It is the number of all rays traced per second in the renderer. Corona running on a single i7 CPU can usually cast 1 500 000 - 4 000 000 rays/s, depending on the scene complexity.

Low rays/s indicate that the renderer lacks the brute force performance needed to efficiently render the scene. Reasons for low rays/s number include:

  • Old/slow CPU, running other intensive tasks in the background, not running on all available CPU cores

  • Complex geometric models

  • Complex texture/material setup

  • Massive use of instancing

  • Non-rigid (deformation) motion blur

  • UHD Cache

  • GIvsAA balance value set too low (e.g. 1 or 2)

  • Too many opacity-mapped objects

If you have too low rays/s in your scene, you can try to:

  • Convert standard bitmaps to Corona Bitmap

  • Disable/reduce bitmap filtering

  • Simplify complex shader networks in Node editor

  • Fake motion blur in post-production

  • Increase GIvsAA balance to at least 4

  • Replace opacity-mapped objects (like leaves) with geometry