The value per $ for Geforce cards is compelling.
So far, the only feature I keep seeing mentioned as a selling point for the quadro (or whatever they’re calling the pro line these days) is that they have frame lock.
But if I’m using something like a BM Decklink for I/O, is that even relevant anymore since those have their own genlock input?
This is definitely going to be used for projection mapping, so sync is important.
You’ll experience higher CPU overhead and a little more latency due to lack of GPUdirect support on the Geforce cards (see ‘Transfer Mode’ parameter in video device in/out TOP documentation). The CPU overhead can really add up if you are doing a large number of outputs, 4K/8K output, or 10-bit color. It is an unfortunate limitation of the Geforce cards.
That is unfortunate.
Can it be compensated with just a faster CPU, or are we hitting PCIe lane bandwidth bottlenecks? The price difference between a pro and Geforce card buys a LOT of CPU.
I believe this process is single threaded in TouchDesigner so you’ll want the highest clock speed you can afford. As far as PCI lanes most consumer level CPU’s these days seem to only have enough lanes for a full bandwidth GPU and maybe some PCI based storage. AMD Threadripper are great because they managed to combine high clock speed with high core count and loads of PCI lanes.
I’ve been using the RTX A4500 in small-to-medium sized systems lately and have been pleased with its performance for the price and it eliminates the Geforce limitation headaches.
Please correct me if I am wrong, but I recall seeing information that Vulkan builds brought us vendor agnostic version of “GPUdirect” (with some clever memory pinning mechanism to avoid copying to a different memory location). Therefore I thought this specific thing shouldn’t be a problem with Geforce cards anymore.
Correct, see here:
GPU Direct For Video Support
With the switch to Vulkan we are able to achieve similar performance via Vulkan features directly using something called Pinned Memory. This works on most GPUs (even non-Quadros), so GPU Direct For Video support is no longer needed.
Conclusion : since TD runs on Vulkan a Geforce can transfer video textures to a video out devixe like Blackmagic/AJA just as fast as a Quadro.
So this thread has been a roller coaster…
If I’m understanding so far…
- Black Magic has genlock, so tearing and other sync issues should be handled by that.
- “Vulkan Builds” allows for a GPUdirect workaround… So that’s no longer a reason to prefer Quadro over GeForce.
That SEEMS like the two biggest draws for a Quadro card are negated, making GeForce even more compelling.
What’s left as the draw for Quadro? Stability and less finicky driver installs?
I’m setting up an in-house system for proof-of-concept work, and client demo’s. It needs to be stable enough that I’m not hand-holding my creatives through constant bug-fixes. That said, delivering an over-powered system, that is ready to handle whatever big idea they come up with, also has a lot of value.
Is this confirmed in the field? Any downsides to the Pinned Memory solution?
I have not tested this with a Blackmagic card personally, although I may be able to in my studio over the next few days, albeit at 4x 1080p60 resolution.
I have, however, tested this (prior to the Vulkan switchover) with GPU direct on a Quadro level card (A5000 I believe) and an AJA Kona5 card outputting four UHD streams. What we observed is that, while it’s certainly possible to output via the card’s SDI outs (with genlock) there was considerable overhead to doing so. This was a couple of years ago, so I don’t recall if it was CPU or GPU intensive, but it was significant enough that we reverted to using the GPU’s outputs to avoid the performance hit. We happened to be connecting to a switcher that supported both DisplayPort and SDI inputs, and the system was noticeably more performant once we switched to DisplayPort.
With more recent versions of TD this may have changed, but I would certainly recommend testing extensively.