@Perry_Kivolowitz, thank you for your feedback.
Well your guess about the architecture is right, the basic scheme is below:
Chroma Key is indeed applied twice (green arrows) if you use it in two places. One of the main idea of manycam is that you can reuse your sources (Web-Cameras, IP-Cameras, Desktops) as many times as you want meaning in an arbitrary number of layers and several presets (preset is just the stack of the layers). This allows you to apply different transformations to any layer, for instance on one you want to zoom your camera and show your hands, on another layer you want to use the same camera feed but show your face and flip the image so text on your cap is readable.
As you wrote predicting future is hard and architecture reflects expectation of developers, but not customers. Per our view the customers should have 1 maybe 2 chroma keys, say desktop capture + camera with removed background on one preset and something else on another (meaning w/o chroma key). It looks like it is a wrong assumption. BTW what is your use case? How do you use Chroma Key? Is it Chroma Key option or Replace/Blur option?
One possible option for optimization is not applying Chroma Key for non active presets. Since only one preset is “live” at the moment (goes to say Zoom) other presets do nothing usefull except rendering for previews. In the latest update of ManyCam (v7.4 for mac and v7.5 for win) we render non-live presets with lower FPS, but in fact we can think about stopping to render it at all or render at 1 FPS. This way we will apply chroma key only once.
Your suggestion to put chroma key right after the camera feed (noted as green box at the scheme above) may be a good solution, but what if you don’t want to apply chroma key to your camera in all places? Maybe we should consider this option with @Christopher, but it may be confusing for some users.
The 3rd option is caching the results of Chroma Key, but the things are more complicated that they seem at first: we have playlists, different transforms per each layer, different layers size etc.
The same I say anytime I see RAM consumption of Chrome . Please share your CPU usage, normally ManyCam is limited to 2 cores (of course it is still high). Please make sure that you have enabled Hardware Acceleration (on by default).