Set up your Graphics the right way

Last updated: May 11, 2020

Set up your Graphics the right way

While TouchDesigner will do a lot for you it, can only work on the canvas that the operating system provides and that has to be configured by you. There are a few things you should pay attention to:

The different operating systems and GPU Drivers have different interface to set the properties of the displays connected to your computer. However, they all cook with the same water. You have to be aware of the settings, if not you will get problems sooner (good, you are not on stage yet) or later (pretty bad, you are on location, everything is stressful and you have to fix basic problems, that you could have avoided all along.

Resolution

Be aware which resolutions your displays have (and if you work with a Laptop that includes the built in screen). For example 1920 x 1080 pixels is a pretty standart definition these days. it’s also called FullHD. it has an aspect ratio of 16:9 and is – the right framerate provided a standart video format.

1024 x 768 on the other hand is a typical computer resolution also known as XGA. In the digital age the difference between computer and video resolutions is not so big and your GPU can usually deliver both kinds, but some hardware is not so forgiving and you will not be able to send some computer resolutions (like 1024 x 1024 – a completely resonalble resolution in the world of Instagram and TouchDesigner) through a dedicated video signal system (cable) like SDI or onto a “real” TV channel.

But this is likely to become necessary when you work on bigger projects as the cables and systems we use at home or in studio can bridge distances of roughly 5m whereas on location you often have to go much further than that and thats when you have to be compatible with industry standarts.

Screen Estate

As mentioned before, a GPU is processing square textures. By anticipating this, we can be more efficient. Let’s say you have four physical screens connected to your computer which display a panoramic image that stretches over all of them in an horizontal arrangement.

By arranging your outputs consciously you can gain a great deal of performance and control

You could arrange them in your GPU settings like figure (B), but then your GPU has to deal with all that dead space (which is easy to calculate as nothing happens but its still a lot of pixels)
If you arrange them like in (C), you transport the exact same amount of pixels in a much smaller formfactor and if you need to send your four outpus through one cable, you can do it now as all you need is one 4K signal to squeeze in 4 x FullHD (D).

Basically this is the same approach you would take for texturing 3D models, where you arrange the different elements of the surface as efficient as possible onto a square texture. Follwo this approach wherever you go and you can gain a lot of performance.

Think of the physical arrangement of screens like of surfaces that you want to pack into one big texture. This approach becomes even more relevant when you plan output for LED surfaces which can be puzzled into arbitrary shapes from square tiles of e.g. 512×512 px or when working with projection mapping. You will have to pack the surfaces, also called the Pixel-Map into a (better video compatible) transporter format (e.g. 60Hz 4K) and on the other end it will be taken apart and pushed to the invividual pixels of the LED wall. The more effective you pack your content, the more images and textures can you process and output at the same time with the same hardware.

Aspect Ratio

The aspect ratio desribes the relation of horizontal to vertical length of an image / screen.
16:9 and 4:3 are the most common aspect rations for computer and video screens alike,
but you will also find 16:10 quite often.

Computer graphics internally love everything suqare. Whatever they do, they handle it as a square anyway,
so when dealing with textures an aspect ratio of 1:1 is what you want.
Further more, thanks to their digital nature they are obsessed with the Power of Eight:
8 x 8 / 16 x 16 / 32 x 32 / 64 x 64 / 128 x 128 / 256 x 256 / 512 x 512 / 1024 x 1024 / etc.
are great sizes for textures. If you look at all the popular resolutions you will see that all of them are compatible with this grid. If you work with (pixel)numbers outside that system you are bound for trouble. Some codecs will simply not encode and you make inefficient use of your GPUs texture memory.

Best you work with resolutions that work in both worlds, like 1920 x 1080 or 1280×720.
Remember that in the free version of TD you are limited to max. 1280 x 1280 px.

Refresh Rate

Again, we have to think about a few things. On thing is the refresh rate of the monitor or signal system that we send to. The other things is in which framrate we render to that signal system. This becomes even more pressing when you have more than one monitor/output.

All of these monitors should have the same refresh rate or you will get stuttering video playback and other little errors, that you might think have something to do with TouchDesigners performance, but are unavoidable if you have monitors with different refresh rates connected. If for some reason you can’t, at least make them even dividers. So combining 25Hz and 50Hz is better than combining 30Hz and 50Hz. In TouchDesigner the framerate you output should match the monitor/signal refresh rate. Rendering at 30 FPS on a 50 Hz device will look worse than rendering at 25 FPS.

The different refresh rates are related to the power grid frequency. While we have 50 Hz in Europe, the US have something around 60 Hz. When your lights run at 50 Hz und you film them with 60 Hz, you will get interference. So if you perform in Europe and somebody from TV films it, chances are they do that with 50 FPS and you are better of if all your stuff swings at 50 Hz as well.

Very useful devices to add more outputs to a computer are
display splitter like these from Matrox or Datapath.