I've written a C# app which listens to a lot of multicast streams.
I'd like to run two copies of the program, one for recording, one for reacting to the data.
I'm curious: if I create a virtual network adapter, and bridge this network adapter to an existing network card, does the bridge happen at the hardware level, or at the OS level?
The reason I ask is that when I run two copies of my C# app, both listening to the same multicast streams, the CPU load rises by more than 2x (it goes up to 4x). Its almost like there is some sort of contention between the two copies listening to the same UDP streams at the OS level, and I'd like to work out a method to remove this contention.
It seems as if this limitation is at the OS level. We decided to just ignore it, as its probably unfixable without having the source to Windows itself.