Performance and sizing
This page describes how the MultiTaction Canvus client uses the hardware of a video wall computer, and which settings change the load. It does not give benchmark figures. For a hardware recommendation for a specific wall, contact MultiTaction.
For the minimum requirements of any client computer, see system requirements.
One computer drives the wall
One Canvus client renders to every display of the wall, and handles all touch input, from one computer. All displays connect to GPUs in that computer. Canvus cannot spread one wall across several computers. See overview.
The size of the wall in pixels, the number of GPUs and the content on the canvas (videos, live streams, browsers, PDFs) set the load. The size of the canvas does not: Canvus renders only the pixels on screen, so its memory use follows the native resolution of the wall, not the size of the canvas. See canvas size and zoom.
GPUs and windows
- Configure one window per GPU in
screen.xml. A window must never span more than one GPU. See graphics coordinates. - Canvus runs a separate render thread for each window.
- From Canvus 26.08.1, each window renders on the GPU that drives its displays. With one window per GPU, every GPU in the computer shares the work. Earlier versions rendered every window on the primary GPU.
- Avoid overlapping windows. They cause a severe performance penalty.
- For tearing between GPUs, see
vsyncandgl-finishin screen.xml file format.
The start-up log lists each render thread with the model, serial number and PCI bus of its GPU, and the PCIe link of the card. Use it to confirm that each window renders on the GPU you expect.
Video decoding and encoding
Playback
- On Ubuntu computers with an NVIDIA GPU and a working NVIDIA driver, Canvus decodes compressed video such as H.264 and HEVC on the GPU (NVDEC) by default and keeps the frames in GPU memory, which lowers the CPU load. Uncompressed video from webcams and capture devices is decoded in software.
- On Windows, and on computers without an NVIDIA GPU, Canvus decodes video in software. Plan CPU capacity for the number and resolution of videos that play at the same time.
- To force software decoding on a computer where hardware decoding misbehaves, set the environment variable
VIDEODISPLAY_FORCE_SOFTWARE_DECODE=1before Canvus starts. On Ubuntu, add it to/etc/environment. This setting has an effect on Ubuntu only.
Live video that Canvus sends
From Canvus 26.06.4, Canvus encodes the live video it sends to other clients (cameras, screen sharing, remote desktop and shared browsers) in software, with H.264. Each stream that a computer sends adds CPU load on that computer.
Video canvas backgrounds
When you import a video as a canvas background, Canvus converts it to H.264 within these limits. The conversion uses the NVIDIA hardware encoder when one is available, and software encoding otherwise.
Setting in [system] |
Default | Meaning |
|---|---|---|
background-video-max-width |
3840 | Maximum width in px |
background-video-max-height |
2160 | Maximum height in px |
background-video-max-fps |
30 | Maximum frame rate |
background-video-bitrate |
20000000 | Target bit rate in bit/s |
A video that is already H.264 and within the limits is copied without conversion. Lower the limits for computers that decode in software.
Capture cards and webcams
Canvus uses these hints in [video-stream] when it picks a mode for a capture card or webcam.
| Setting | Default | Meaning |
|---|---|---|
min-resolution |
800 600 | Lowest resolution to choose |
max-resolution |
3840 2160 | Highest resolution to choose |
min-fps |
14 | Lowest frame rate to choose |
max-fps |
31 | Highest frame rate to choose |
prefer-uncompressed |
true | Prefer an uncompressed mode over a compressed one |
Settings that change the load
| Setting | Default | Effect |
|---|---|---|
[system] max-concurrent-tasks |
0 (automatic) | Number of background worker threads for loading and processing content. Automatic uses the number of logical CPU cores minus one per window minus one, with a minimum of 3. Restart required. |
[system] max-open-files |
4096 | Linux only. Open-file limit. Raise it for canvases with many assets. Restart required. |
[pdf] raster-resolution |
2048 | PDF pages are rendered to fit within this many pixels on each side. Higher values look sharper and use more memory. |
[cache] max-age |
2592000 (30 days) | How long assets from shared canvases stay in the local cache, in seconds. |
Screen burn-in
To reduce burn-in on displays that show the same image for a long time, Canvus moves the canvas menus, the info panel and the license overlay slowly, by up to 10 px at about 1 px per minute. This is built in and cannot be changed.
Wall and system sizes
The MultiTaction configuration tool at https://multitaction.com/config/ shows the full specification of a wall and its computer for systems of up to 24 outputs. The largest standard system has 24 outputs at 4K.
Larger walls are possible. The largest MultiTaction touch wall built to date is 11 MT553 displays high by 5 wide: 9600 x 11880 px (114 megapixels), 6090 x 7581 mm, with a 382.8 in diagonal. It ran a custom application built on Cornerstone, the platform that Canvus and MT Showcase are built on, on MultiTaction displays and an MT Hydra Server.
What MultiTaction has not published
MultiTaction does not publish measured figures for:
- the number of videos or live streams a given computer plays smoothly;
- memory needs per wall size.
Base sizing on a test with your own content, or ask MultiTaction.