Performance limits can be very complex.
To confuse matters, there are different ways of measuring CPU usage. For example, right now on my BI system, Task manager's Processes tab is showing
59% average overall CPU. Same on Performance tab. However if I go over to the Details tab, System Idle Process is averaging about 55%, indicating an overall CPU load of just
45%. The lower number is what
Blue Iris itself reports at the bottom of its local console, and is what a Performance Counter would measure. Why the big difference? I have no idea.
There are also a lot of ways to use Blue Iris that require different amounts of CPU time. Like on my system, I render the local console on about 80% of a 4K monitor with the live preview frame rate uncapped, and that doubles my CPU usage just by having the console open. This is having the monitor connected to a small Nvidia graphics card. Without that card, the CPU usage would almost triple instead of just double. So some people see hardware acceleration cut their CPU load in half, while others see it make a tiny difference because most of their CPU load was not video decoding in the first place (or they configured hardware acceleration only on a few cameras by accident). When I wrote my "rule of thumb" in the
wiki describing MP/s ranges and appropriate CPUs, realize I do not own all those CPUs, and I have not personally configured Blue Iris on most of them. I am only guessing on performance limits based on how I would configure and run things typically, and based on benchmark scores, and reports from other users.
There's also a possibility that you are running into memory bandwidth limits. Or you could be not even close. I don't know a good way to measure that. As you are on an HEDT platform there's a good chance you are using quad channel memory already and have more than the usual amount of memory bandwidth to work with.
There's also Hyper-Threading to worry about. It makes your 10 core CPU pretend to be a 20 core CPU. The performance gain from hyper-threading is a lot closer to 15% (workload-dependent) than it is to 100%, and I don't honestly know how well Windows can measure your CPU load with hyperthreading enabled. It could be that when it shows 50% load, it is actually close to the limit and Windows just doesn't realize it because it assumes too much of the virtual hyper-thread cores.
It is surprising that cutting a megapixel off most of the camera resolutions didn't have an effect. You could try reducing bit rates too/instead to see if that makes the difference.
If you move from i7-6950X to i9-9900K, you will be gaining H.264 decoding hardware acceleration and probably losing some memory bandwidth. But otherwise the two CPUs measure almost exactly the same in multi-threaded benchmarks. I wouldn't bother spending that kind of money. I'd work on reducing Blue Iris's workload further instead.