External output jerky on Windows (fine on Mac) + Perform Mode issues

I’m using Touch for an opera performance and am having some issues with the Perform node. Opening night is tonight.

My set-up…

  • :computer: Razer Blade laptop with NVIDIA 3080 Ti’s (actually two: one main, one backup)
  • :fire: Only using Discrete GPU. Integrated GPU deactivated.
  • :musical_keyboard: Using Ableton Push 2 as a MIDI controller to trigger things
  • :running_man: Running in TouchDesigner @ 60 FPS. System handle everything fine - frame rate not dropping.
  • :tv: Outputting via HTMI to a 12m x 9m LED wall with Barco backend/processor @ 30 FPS / Hz (maximum it will accept)

PROBLEM 1:

  • :red_circle: Outputting via HDMI from Razer Blade (60 → 30 Hz) = Motion is slightly jerky. Speed is correct, but frames are not being output consistently: eg. I see frames, 0, 1, 1, 3, 3, 3, 3, 3, 8, 9, 9, etc.

However…

  • :green_circle: Viewing on Razer Blade laptop screen (60z) = Perfect. I see frames 0, 1, 2, 3, 4, etc.
  • :green_circle: Outputting via HDMI from MacBook Pro M1 Max (60 → 30 Hz) = Perfect. Outputs frames 0, 2, 3, 4, 6, etc.

PROBLEM 2:

When using Perform Mode with V-Sync Mode ENABLED =

  • :green_circle: Outputs with no horizontal tearing
  • :red_circle: But I get a delay/latency when using the midi device. Hit a MIDI button, wait maybe 0.5 seconds before it triggers.

When using Perform Mode with V-Sync Mode DISABLED =

  • :red_circle: Outputs with horizontal tearing
  • :green_circle: No delay when using the midi device

When outputting via Right-Click > View… > Borderless to external display =

  • :green_circle: No issues (except ‘PROBLEM 1’ above), BUT…
  • :red_circle: Can’t use this method with a TouchPlayer Licence

I know it’s difficult to properly problem solve this without me supplying files, but any suggestions for things I should try? The goal is…

  1. :+1: Smooth playback and
  2. :+1: no tearing + no MIDI latency using Perform Mode.

Thanks,

Mike

Edit: Added emojis for visual clarity and mild amusement.

Hey, I’ve just created/updated this article which has a lot of information that should help you:

However the latency issue is something I still need to look at. It seems to occur when the GPU is under high load.

Thank you. I’ll take a look.

To get around problem 1, you need to go into the Nvidia Driver settings and under 3D Settings set Vsync to Off. The issue is that your laptop built-in monitor and external monitor sync fight and it instantly caps the external monitor to 30. Once this is disabled the monitors can free run so you won’t have the drop to 30fps.

You can then set the Window COMP specific Vsync settings, but with Optimus laptops things might get weird and not behave as expected with Vsync because the laptop monitor and external monitor have different GPUs connected to them. Give it a try after turning off Vsync in the driver settings.