Oooooh, I was just wondering what to do with the rest of the day!
Update 5: Here is a table of GPU decode compatibility showing which cards support which formats:
NVDEC Support Matrix All of the 1xxx series cards support H.265, but if you "open the complete tables" you will see that most of the previous generations 7xx and 9xx series cards do not support H.265. There's also a table for NVENC on that page, and
Blue Iris can use it since 4.7.9 to encode video.
Update 1:
Here are some preliminary test results.
This is an i7-8700K system with an Nvidia GT 1030 GPU.
HW Acceleration Mode | Blue Iris CPU Usage | Blue Iris Memory Usage |
---|
Intel | 14 % | 5646 MB |
Nvidia CUDA | 12 % | 5837 MB |
That doesn't look so bad until you discover that only 11 cameras were being hardware accelerated, while 10 others were broken. 2 of my cameras are configured to not use hardware acceleration at all.
Update 2:
I configured Performance Monitor to graph various CPU, memory, and GPU usages, and then began toggling the new Nvidia CUDA hardware acceleration to analyze the results.
Again, this is an i7-8700K with Nvidia GT 1030 GPU (the one with GDDR5 memory, not the gimpy one with DDR4).
The red lines are performance counters from the
Intel GPU. Blue and light blue lines are from the
Nvidia GPU. Yellow is CPU usage, and the pink line along the top is Blue Iris's private working set (memory usage), scaled such that "50" on the Y-axis is 5 GB.
I began with all cameras configured to use Intel decoding except for the two 2MP cams tagged in the screenshot from Update 1, which had hardware acceleration explicitly disabled. I then proceeded to make changes:
Change 1) 8 MP @ 10 FPS
Intel ->
Nvidia CUDA
Change 2) 4 MP @ 15 FPS
Intel ->
Nvidia CUDA
Change 3) 4 MP @ 15 FPS
Intel ->
Nvidia CUDA
Change 4) 2 MP @ 15 FPS.
Intel ->
Nvidia CUDA
Change 5) 2 MP @ 15 FPS.
Intel ->
Nvidia CUDA
Change 6) 2 MP @ 15 FPS. No acceleration ->
Nvidia CUDA
Change 7) 2 MP @ 10 FPS. No acceleration ->
Nvidia CUDA
Change 8) Revert changes 6 and 7
Since then, the graphs have held steady.
Update 3:
I decided to try pushing the limits again, and continued switching cameras over from Intel to Nvidia.
After 11 cameras, new attempts to enable CUDA acceleration resulted in the message "Signal: HW accelerated decoder not found". There is not a hard limit on the number of cameras, though. I disabled the most expensive camera I currently had on CUDA (8MP @ 10 FPS) and was able to enable two more 2MP cameras and a 1MP for a total of 13 active cameras with CUDA acceleration. The 14th camera would then fail with the same error message as before.
This chart shows that happening with plenty of apparent headroom:
However at the same time, GPU-Z was reporting approximately 85-95% GPU usage, so I believe I simply hit the limit of what this card is able to process. Maybe a more powerful card could handle more. I'm already putting a 45-50% load on this card just rendering the Blue Iris GUI at 4K resolution.
Note: All tests I've done so far are using H.264 video.
Update 4:
Here are the performance counters returning to normal as I went through and changed all my hardware acceleration settings back to the way I normally run: