Full-screen outputs in Conduit Live

There are two separate full-screen outputs in Conduit Live. The difference between them is subtle but potentially important if your computer setup includes multiple video cards.

The controls for both outputs are located in the Control Panel:

Control Panel screenshot“Main output” is the one that you’re normally watching in the Output Viewer window. To move the main output onto a separate display of its own, just select the display from the pop-up and press Cmd+F (or choose the “Enter Full Screen” option from the Output menu). That’s all there is to it!

If you want to view the main output simultaneously on a separate display and on the main display, just open the Monitor window.

The scaling options are hopefully self-explanatory: the output can be displayed with 1:1 pixels (i.e. no scaling is done, so the image may be cropped or bordered); stretched to fill the screen while maintaining aspect ratio (which will result in borders if the aspect ratio is different, for example when viewing a widescreen image on a 4:3 display); or stretched to fill the entire screen regardless of aspect ratio.

The pixel aspect ratio settings can be useful if the display in question is something else than a computer screen. For example, an NTSC TV-out display is commonly 720*480, which means that pixels are stretched on the monitor. (How much they are stretched depends on whether the monitor in question is a 16:9 widescreen or a traditional 4:3 screen…) Choosing the correct pixel aspect ratio will allow Conduit Live to take this into account when rendering the image.


So what is Aut Ouxput then? It’s a feature that allows you to display two different images on two different displays. When you enable it, a new AuxOut node is created in the Conduit Editor (if there isn’t one already). It works just like the regular Output node: you can pipe anything into it and it’s rendered on the display that you specified.

The render size options for Main and Aux outputs allow you to specify the resolution used for rendering each output image. This can be useful to improve performance: for example, you might have a 1920*1080 HD image that is rendered at full resolution for the main output, with an alternate preview version simultaneously rendered on a smaller display using Aux output. As the smaller display doesn’t need the full resolution, you might specify something like 640*360 as the render resolution to ensure that both images render at full framerate.

Here’s an example situation that shows AuxOut:

Nodes

What’s happening here is just colorspace conversions — not very exciting certainly, but often crucial. The original image in this case is an sRGB image; it has a gamma of 2.2. The main output is a display with a gamma of 1.8 (this is the standard Mac calibration), so we convert the gamma from 2.2 to 1.8. An easy way to accomplish this is simply to convert to linear (1.0 gamma), then back to the required gamma value. (As Conduit always combines nodes when possible, there’s absolutely no loss of quality from this method.)

The Aux output is on a different display which uses the Adobe RGB colorspace. If sRGB colors are viewed on a display that expects Adobe RGB, they will appear much too saturated. The Convert RGB node is convenient for converting back and forth between the most commonly used colorspaces. It can also be used for white point conversion (e.g. if you have photos that were saved using a warm D50 white point and you want to display them on a video monitor with a cool D93 whitepoint — or just for artistic purposes).

There’s one more thing to cover about AuxOut: it’s a non-obvious but important difference between how the main output and aux are rendered in full-screen mode. If you have multiple video cards in your computer, you may need to be aware of this…

Multiple video cards means multiple GPUs (graphics processors), and that poses a problem because GPUs can’t share data easily. Conduit Live always renders on the main GPU in your Mac. Typically the main GPU is much faster than any additional GPUs that might be on the system: for example, if a Mac Pro is outfitted with both Radeon X1900 and a Geforce 7300 video cards, the Radeon is several times faster than the Geforce — it makes sense to render everything on the main video card when possible.

But there’s a catch: in this example situation, the main output can’t be rendered on a display that’s connected to the Geforce because it’s on a different GPU. If you try to enter full-screen on such a display, it won’t render.

Luckily AuxOut comes to the rescue. It works on any connected display device, regardless of whether it’s actually rendered by the main GPU. Conduit Live will still render on the main GPU (the fast video card) as usual, and the AuxOut image data will be to the other GPU if necessary. In theory this feature allows AuxOut to work with devices that look like displays to the operating system but aren’t really GPUs at all, such as SDI Out on certain capture cards and other weird video outputs. (…But I haven’t actually tried it, so I can’t guarantee compatibility. If you do try it, please let me know how it goes!)