My apologies for the long post. Hopefully this will help some others having similar issues.
I’m working on optimizing a theatre performance network that has lots of individual scenes/cues that are selected and sent to a mapping/blending network then out to 7 projectors. I’m using only live video feeds and movie in objects, no 3D rendering. It seems like the more I work on the network, the lower my frame rate goes and I’m desperately trying to get some of those frames back.
I’m also trying to get a better understanding of how best to optimize TD in general.
I am running windows 7 64bit, 16GB RAM, SSD, TD v26000. , Nvidia Quadro K5000, driver v341.21. black magic capture card.
These are some of the things I’ve discovered from searching the forums.
selective cooking
derivative.ca/Forum/viewtopic.php?f=4&t=599
multi composite/mover (seems like a good replacement for multiple OVER for transposing many items on a canvas)
derivative.ca/Forum/viewtopi … =22&t=5537
Cook time with scripts (how to view cook time of your nodes)
[OPs vs. Script Cook time test)
Base vs Containers: (bases are more efficient than containers)
viewtopic.php?f=4&t=1388&p=4357&hilit=optimize#p4357
Turning on and off the cooking flag: (not the best solution for optimization because it may cause pause when reenabled)
viewtopic.php?f=27&t=1840&p=5933&hilit=optimize#p5933
Saving GPU Ram: (can be achieved by reducing resolution of TOPS to 1 x 1 and then cooking)
viewtopic.php?f=20&t=1601&p=25641&hilit=1x1&sid=571c6845e57b9c326749fd76e3bccdc6#p25641
Panel drawing and performance: (not super important because perform mode takes care of it)
viewtopic.php?f=4&t=5383&p=19810&hilit=optimize#p19810
I’ve also checked out all the related wiki documents on optimization and cooking.
When I put a HOG CHOP in I only see a 1-3 frame drop so I assume I’m having more of GPU bottleneck than a CPU issue.
Some questions/concepts I still don’t understand:
-When I cause a cook to occur, it adds to the total GPU memory used (middle click → ‘GPU memory all tops’ and’ total GPU memory’), and stays there even if it is no longer cooking/being displayed. Does this mean that those GPU resources are still ‘in use’ and not available for other ‘active’ nodes to use?
-What happens when this total GPU memory reaches/exceeds the GPU memory of my graphics card? Is it released in a ‘first in first out’ kind of way? (I’m thinking not because the ‘total GPU mem’ seems to be able to exceed the limit i.e. 1500 MB of 1000 MB)
-
As a general practice, should I be actively reducing the resolution to 1 x 1 of all my TOPs after I cook them and don’t need to display them anymore to ensure that they are not using up GPU resources? (I tried doing this with some of my TOPs, expecting to see some increase in ‘total GPU memory’ or frame rate, but it didn’t seem to have any effect)
-
Maybe I’m putting too much thought into the GPU memory used. Is ‘total GPU memory’ even a good way of determining how hard the GPU is working?
-
Bypassing a container does not seem to stop the objects inside of it from cooking but disabling cooking on them does. One of the posts above says this isn’t a good way to optimize. Is this still true?
-According to the hierarchy list within my performance monitor I can see that certainCHOPS are causing others to cook. Specifically I see that exporting a null channel to a play parameter (on/off) causes the null (and everything upstream of it) to cook constantly. Why?
- If my computer system CPU monitor says everything is fine while running TD (i.e my ram and processor are well below 50% used) would higher cook time chop objects (as seen in the performance monitor) be having any effect on my frame rate?
-Regarding TD Frame rate: All my cameras are capturing at 30fps and I have no video content that is higher than 30fps and the refresh rate of my projectors is 60hz. Does running TD at 60fps affect playback performance? Should I be running TD at 30fps instaed of the default 60fps?
-Maybe this is more of a Nvidia question, but if the specs on my graphics card say the DVI output can handle ‘Up to 330M Pixels/sec: (ex 2560x1600@60Hz)’ and I am running (3 x 1024x768 = 3072 x 768) am I exceeding the maximum horizontal resolution of the card’s output and thus causing a frame rate drop in TD?
Sorry again for all the questions. I’ve been trying like crazy to figure this stuff out for the last week and have run into a wall.
Thanks for any advice you may have.