Hardware Frame Lock

From TouchDesigner Documentation
Jump to: navigation, search

What is Hardware Frame Lock?[edit]

Hardware Frame Lock is used to synchronize the GPU with the displays or projectors attached to them. This makes it possible to maintain frame-accurate sync across displays or projectors and across multiple graphics cards. Such sync is often required when content spans multiple outputs or when using multiple GPUs and/or multiple computers with multiple GPUs. It can also be used when displays or projectors need to be synced to an external timing source.

There are two parts that make up Hardware Frame Lock.

Genlock[edit]

Genlock ensures the refresh intervals of all the displays are occuring at the same time (in phase with each other). The sync signal can be generated internally by one of the Quadros in the sync group, or by an external House-Sync signal plugged into the Quadro Sync cards. Without Genlock the displays may be refreshing at different intervals, resulting in visual tearing due to some displays starting to update their content before other displays. Genlock is obtained by setting up the Quadro Sync in the Nvidia Control Panel. It will function regardless of how the TouchDesigner project is setup (as long as V-Sync is on), and doesn't require a Pro license.

Frame Lock[edit]

Frame Lock is enabled in the Window COMP. This feature also uses the Quadro Sync cards, and ensures all of the displays only update when they are all ready to update. This avoids cases where one process has a hiccup and isn't ready to output a new frame, but other processes go ahead and update anyways, resulting in the final canvas showing two different frames at the same time. All processes will stall and wait for the lagging process when a hiccup occurs. This mode also reduces overall render performance due to the overhead it requires, so it should only be used when absolutely nesseary. Lots of content can be shown across multiple displays without Frame Lock, and look great.

See also Sync In CHOP and Syncing Multiple Computers.

Nvidia Quadro Sync[edit]

The Nvidia Quadro Sync hardware solution requires the use of specific Quadro cards with the appropriate Quadro Sync card for synchronization. Each computer system that will be synced requires its own sync card which is attached to the graphics card via a ribbon cable.

Requirements[edit]

Quadro Sync

  • NVIDIA Quadro Sync Card
  • NVIDIA Quadro K-series or newer cards.

Multiple GPUs on a Single System[edit]

This is the most simple setup which will synchronize the output of multiple GPUs and displays on a single computer.

There are some restrictions to consider when setting a system up for sync

  • All displays connected must run on the same EDID. The simplest way to do this is ensure they are the same type, manufacturer, and model.
  • All synced graphics cards must be the same (for example you can not mix and match a Quadro K5000 with a K6000)
  • Whenever using multiple GPUs with TouchDesigner, use GPU Affinity for optimum performance. This requires a separate .toe file for each GPU.

1) Make sure all connections and power are properly setup between the graphics cards and sync card.

2) Make sure Vertical Sync setting in the Nvidia Control Panel is set to "On" or "Use the 3D application setting".

VerticalSyncSetting.png

3) To enable Frame Lock, open the Synchronize Displays section of the Nvidia Control Panel.

  1. Set the option for The timing server is... to On this System.
  2. Check the checkboxes for all required displays in the Select displays to lock to the server: section.

SynchronizeDisplaysOn.png

4) In your TouchDesigner .toe file, confirm the following:

  • Make sure GPU Affinity is properly setup for each .toe file that runs on each GPU, if you are using multiple GPUs on a single PC.
  • Turn on the Hardware Frame-Lock parameter in the Window COMP you are using for Perform Mode.
  • Confirm that the Monitor parameter in the Window COMP is set correctly for each .toe file that is running. It must use the correct monitor based on the GPU Affinity setting for each .toe file.
  • Double-check that Open on Start is turned off in the Window COMP.
  • Open the Window Placement Dialog and turn on Start in Perform Mode option.
  • Restart the .toe files.

AMD/ATI FirePro S400[edit]

The ATI FirePro S400 Synchronization module provides framelock and genlock functionality to FirePro workstation graphics cards.

At this time we do not have any field testing with the ATI FirePro hardware solution. Please refer to AMD/ATI support for details of this system.

The Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.

A custom interactive control panel built within TouchDesigner. Panels are created using Panel Components whose look is created entirely with TOPs.

TOuch Environment file, the file type used by TouchDesigner to save your project.

The term "Frame" is used (1) in the Timeline, (2) as a time-unit in CHOPs, (3) as a time-unit in TOPs, and (4) with movies images which are read and created with TOPs.

Mode where the network editing window is not open, your performance interface window(s) is open and you are running your application as fast as possible. See Designer Mode.