Visualization performance tuning
Here is some useful advice on what you can do to increase the performance of your Capture projects when visualizing. The performance of your visualization will depend on many things and sometimes a simple change can have a dramatic effect on performance.
If you're in the process of deciding which hardware to purchase or upgrade in your system, your number one priority should be the video card. There are several video card benchmarks available and it's difficult to say which is most appropriate for Capture, but we tend to recommend PassMark's Videocard Benchmarks as a starting point.
Some other things to pay attention to could be:
- Motherboard and memory speed. These are linked, but ultimately limit the speed at which Capture can instruct the video card what to do.
- CPU speed.
- Your networking equipment (!) may limit you if you need to stream video content from media servers.
Some things that will have little or no effect at all on (visualization) performance:
- Storage speed. Your hard disk is irrelevant.
- RAM amount. As long as you have enough, you're fine.
- The refresh rate of your monitor.
The number one system setting to pay attention to is the resolution of your monitor. Modern Apple Retina and 4K+ monitors have a lot of pixels and are quite demanding for visualization. By adjusting the 'Resolution limit' rendering setting mentioned below you can limit the number of pixels rendered by the visualization which can have great effect on the performance.
Some video cards offer a plethora of quality settings in the operating system. None of these have any effect on Capture, so don't waste your time there.
Always make sure to be running the latest video card drivers (and operating system updates)! Video card manufacturers invest a lot of optimization time in them and it does make a difference. Also keep in mind that on laptops with dual video cards, even if Capture only uses the more powerful one, the drivers need to cooperate so keep both up to date.
Always use video card drivers directly from the video card manufacturer (Intel / AMD / Nvidia) if possible.
There are many aspects to the design of your project that will affect the performance of the visualization. Here are our top-tips of things to keep in mind:
- Number of apertures - it's the number of apertures, not the number of fixtures that counts. A striplight with 10 apertures can be as intense as 10 conventional fixtures, depending on your rendering settings.
- Smoke - visualizing smoke illumination is very performance demanding, however the amount of smoke present does not matter - performance gains only occur if smoke is completely disabled.
- Fixture focus (when smoke is present) - fixtures focused into the camera effectively affect the entire screen as compared to what is normally a small cone. If it's a multi-aperture fixture such as a striplight and it's used more for the appearance of the apertures than its stage washing capabilities or beams, you can turn off the "Throws light" property of the fixture to disable its beams, which helps performance a lot.
- Any object that creates a shadow need to be taken into account when fixtures are being focused, are panning/tilting or being moved. If you know that there are parts of the drawing that you will not be lighting, turn off the "Casts shadows" property of these objects.
- Transparent objects have an impact on performance, more by the number of them than how large or detailed they are. If you are importing a construction that will be transparent, try to keep the individual object count down if you can.
These can be found in the Design tab and effect all views in live mode.
- Multiple apertures visualization - fixtures with more than one aperture can be treated either realistically, each individual aperture by itself, or in a simplified manner, as a single beam defined by the average of all apertures. The automatic settings is a hybrid mode that uses the simplified mode when all apertures are on the same level and colour, and the realistic mode if not.
- Automatic quality - in automatic quality mode Capture attempts to automatically manage the rendering settings in order to maintain a framerate of 30 fps. This works better on low end video cards such as those commonly found from Intel in laptops and tablets.
- Resolution limit - offers a way of limiting the visualization resolution, particularly useful on high resolution monitors.
- (Legacy: Resolution scaling - offers a way of decreasing the resolution of live views without reducing the resolution of your monitor. See also 'System settings' above.)
- Atmospheric resolution - offers steps of atmospheric resolution, ie. that of beam rendering independent of other objects and lighting.
- Beam atmospheric detail - defines the number of samples taken per beam, for each pixel on screen. The more the prettier, but also slower.
- Beam shadow resolution - defines the resolution of the shadow of each fixture. Increasing this helps wide angle and long distance projections but also uses more video memory and requires more performance.
- Spill lighting - enables the visualization of low-level lighting from fixtures without well defined beam edges. While producing beatiful renders, this setting is resource consuming.
- Frosted transparents - Allows you to turn on and off the visualization of the material frost effect.
- Fill lighting detail - defines the spatial resolution of the fill lighting effect. Higher settings are more demanding.
- Ambient occlusion - creates more realistic looking shadows but comes with a performance cost.
- Anti-aliasing - smoothens jagged edges in both live and wireframe views.
Each view has its own settings and the following properties in the Camera category are of relevance to the performance:
- Bloom effect - disabling the bloom effect completely does have a small positive effect on performance.
- Fill lighting - disabling fill lighting improves performance.
On the subject of the Windows Task Manager and multi-core use
A question that pops up every now and then from users that run Capture and Windows and who have turned to the Task Manager to understand the performance bottlenecks of their system is why Capture doesn't use all cores of the machine, why it doesn't support "multi-threading".
Well, for starters, Capture does support multi-threading. If you add the "Threads" column to the Task Manager you will see there are plenty of them. The point is, adding more or spreading them differently across your cores will not help performance because by the end of the day each monitor is driven by one video card only and having multiple cores telling it what to do won't help. You can think of it as whether having more than one boss would make you work faster or not.