Dual graphics card performance drop after network editing

Hi,

this one is kind of hard to generalize so I will try to elaborate on the setup:

  • PC with two quadro cards (2000 and m4000)
  • monitor1: one virtual monitor (hdmi dongle) connected to Qudaro 2000
  • monitor2-5: four projectors connected directly to m4000
  • apart from remap TOPs there is not much going on, only high resolution HAP file playing
  • perf Window is spanned as one window over monitor 2-5
  • project starts with player license on commercial TD
  • all monitors (including the virtual one) run on WUXGA 60hz
  • TD is forced via Quadro Settings to always run on the m4000
  • as monitor 1 is the “windows main display” TD gets drawn on that monitor when escaping the performance mode

on initial startup the project runs fine at 60fps. after pressing ESC to enter the edit mode (which is then displayed as “edit mode not available on player licenses” if no dongle is connected) and re-entering performance mode with F1, the performance drops consistently to 45-50fps. restarting TD brings the performance back up to 60fps

is there something happening when switching network/perf mode that would explain that behaviour or does anyone know about a workaround?

When using multiple GPUs you should use GPU affintiy to bind the TouchDesigner process to a particular GPU, in your case the m4000.

Refer to this article for details:
derivative.ca/wiki099/index … phic_Cards

Try that first and see how it goes. Let us know if that was the problem or the issue still persists.

I get a similar problem sometimes after network editing

thanks for your reply ben, TD is already bound to the m4000, the GPU affinity is what i meant with “TD is forced via Quadro Settings to always run on the m4000” in my post

in the link you posted it says
“When using GPU Affinity, make sure that the windows from the TouchDesigner process which is bound to a particular GPU do not overlap onto the desktop space of the other GPU(s). This will cause the data to get copied between GPUs which is what we are trying to avoid by using GPU affinity. This is acceptable for creating and editing your files, but during performance playback you should keep the windows only on monitors connected to the GPU that the process is bound to.”
And this scenario is exactly whats happening (for editing the window is drawn on the second GPU), but i suppose that shouldnt result in a general performance drop after editing and back in performance mode…

The behavior for this can change between different driver versions and GPU models I’ve found. Sometimes the window totally fails to draw on the non-affine GPU. You can try different driver versions, or you may want to try to escalate this with Nvidia if you have a contact there. Quadro owners should be able to get some support.
Sorry I can’t give more info.

hi malcolm,
would you have any hint on what to tell nvidia in order for them not to blame it on the software (touchdesigner) right away?

You can tell them you are using GPU Affinity and having these issues. They’ll loop back to me if they think the issue is ours. Doens’t seem to be in this case though.

Is there any resolution from nvidia or more information regarding this problem, I often encounter it and wonder if anyone has found a workaround or more information.

1 Like

I have also noticed this. 4x RTX6000 setup, sometimes if I escape from performance mode and reenter performance mode the FPS never goes ‘back to normal’.

The most obvious reason would be that TouchDesigner doesn’t allocate GPU memory parts of the UI until it’s first needed, which is why TD apps run better if you launch in performance mode. Theoretically the entire Designer interface should stop cooking when you go back into performance mode but it looks like the GPU mem isn’t released (which makes sense so you can toggle back and forth quickly between Designer and Performance once Designer has been open once), but if you are already close to your VRAM limit this could theoretically cause some performance issues unless you relaunch from scratch.

But I agree with the last post, I’ve seen some issues where there’s plenty of VRAM left over and going back to performance mode never restores the full performance of the first launch straight to performance mode. Perhaps some of the Windows Full Screen Optimizations is coming into play here? AKA The first launch triggers the FS Optimizations, going to designer removes that as it’s now a floating window, and something about going back into Performance mode again doesn’t fully reactivate all of the optimizations.

@soriak First I would try not to enter Designer mode at all. Think of ways to remotely control large sets of parameters as much as possible. But, I have found one trick - If you make the Screen a window that is 1 pixel taller than your output, this forces Windows to treat your ‘fullscreen’ output as a window. At the cost of losing some of the performance edge of Windows Full Screen Optimizations, this lets you use Designer Editor + (Perform) Open as Separate Window in a way that makes the main output run far smoother than Designer Editor + (Perform) Open as Separate Window at the native output of the monitor, for some projects.