This is the documentation for Enlighten.
Perf Stats tab
To enable the Perf Stats tab, do one of the following:
- Click the Rendering tab and select the Perf Stats visualisation service.
- Click the Performance tab and select Enable real time performance graph.
- Open the Lua console and enter
app.PerfGraphSetEnabled(true)
The Perf Stats tab displays a live performance graph and its controls. These controls allow you to change the appearance of the graph. The graph is split into a 'summary' section and an 'itemised' section. The top summary section has thinner bars and shows aggregate statistics for the main types of work done by the application, including Enlighten. The itemised section displays a more detailed performance breakdown of a particular aspect depending on which graph type has been selected. The itemised section is only displayed if Show full stats is checked.
Each coloured bar displays the most recent timing information for the corresponding operation. GeoRadiosity also maintains a history buffer of all statistics to date which it uses to display an average and maximum value alongside each bar. The average time is displayed as a thin white horizontal bar along the top of each coloured bar, and the maximum is displayed as a thin vertical bar to the right. The history buffer can be cleared manually with the Clear stat history button, or periodically reset with the Auto clear history feature (on by default).
Menu items
Solid background |
Draws the performance graph with an opaque background colour for easier viewing in some scenes. |
Show full stats |
Whether to display full performance stats or a summary. |
Auto clear history |
Whether to automatically clear the history buffer periodically. |
Clear stat history |
Clears the history buffer to reset average and maximum statistics. This action also occurs when changing options that significantly affect performance. |
Graph type |
Selects which type of live statistics you want displayed in the itemised section. |
Time resolution |
Allows you to choose a time axis that fits the data in the history buffer. This can be adaptive (default), or fixed at either 30, 60 or 120 fps. |
Show legend |
Shows a brief description of each performance bar currently on-screen for quick reference. |
Summary statistics
The first five horizontal bars show aggregate stats for Enlighten and the rendering system. Most of these summary stats display "wall time" for a given type of task as run by the high level runtime, rather than the aggregate of the individual task times. Wall time is the difference that a clock on the wall would show when measuring the group from beginning to end, which is not necessarily the same as the sum of time actually spent over multiple cores including the effects of multithreading overheads and parallelism. Depending on what you wish to measure it may be more appropriate to look at the individual stats than the wall time.
The bars are colour-coded as follows:
Green |
The total CPU update time (wall time not busy CPU time) for one complete update of all Enlighten data, including solving all light probes in the scene and generating all input lighting. |
Red |
The total GPU update time (wall time) for one complete update of all Enlighten data, including solving all light probes in the scene and generating all input lighting. |
Cyan/Light blue |
The total update time (wall time and CPU busy time as light probe updates are done in series on a single core at present) for all light probes in the scene. |
Pink |
The total CPU update time (wall time and CPU busy time as light probe interpolations are done in series on a single core at present) for interpolating the light probes for dynamic objects in the scene. |
Grey |
The total CPU update time (wall time) for generating cube maps. |
Dark blue |
The current time to render a single frame. (Wall time between swaps.) |
Itemised statistics
Depending on the currently-selected graph type, each row below the summary bars represents one of the following:
- An Enlighten system
- An Enlighten probe set
- An Enlighten cube map
- Pink: The time taken to add all the lights to Enlighten
- Light blue: The time taken to call
DoEndInputLightingTask
, which applies the albedo to the input lighting and the bounce lighting from the previous frame, amongst other tasks. (This is frequently too small to be visible.) - Yellow: The time taken to call the currently-selected 'solve' function. This usually dominates the cost of updating a system.
The white text to the right of each row identifies the item being displayed. When displaying Enlighten systems or probe sets it shows the internal ID for that object (the GeoGuid
).