When is Hardware Acceleration Used in BI?

SpinnerRow

Young grasshopper
Joined
Mar 22, 2016
Messages
56
Reaction score
4
I'm a bit confused as I notice no difference in using it or not using it on my small two camera system. I have "direct to disk" specified. If I wasn't going to direct to disk and decoding it and adding overlays, is that where I would see the benefit?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Hardware acceleration is used to reduce CPU usage when decoding h.264 video streams, which happens at all times for all cameras (all that stream h.264 anyway, which is most these days) whether you use direct to disk or not. Hardware acceleration does require an Intel CPU with Quick Sync Video support. It will not work in Windows 7 if you run Blue Iris as a service. If you enable the hardware acceleration feature, Blue Iris must be restarted before it will take effect.
 

nhracecraft

Young grasshopper
Joined
Aug 19, 2016
Messages
46
Reaction score
7
Location
New Hampshire
Hardware acceleration is used to reduce CPU usage when decoding h.264 video streams, which happens at all times for all cameras (all that stream h.264 anyway, which is most these days) whether you use direct to disk or not. Hardware acceleration does require an Intel CPU with Quick Sync Video support. It will not work in Windows 7 if you run Blue Iris as a service. If you enable the hardware acceleration feature, Blue Iris must be restarted before it will take effect.
Can you expand on this....I just got a Windows 7 Pro machine and I'm contemplating running Blue Iris (Also contemplating Milestone XProtect Essential now that it's free with NO Recording limit! :cool:). Are you indicating that every time the machine is rebooted you'd need to manually toggle Hardware Acceleration and re-launch Blue Iris manually? Can't run as a service to use this feature? Other issues with Windows 7? Any info you can provide would be MUCH Appreciated.
 

fenderman

Staff member
Joined
Mar 9, 2014
Messages
36,897
Reaction score
21,250
Can you expand on this....I just got a Windows 7 Pro machine and I'm contemplating running Blue Iris (Also contemplating Milestone XProtect Essential now that it's free with NO Recording limit! :cool:). Are you indicating that every time the machine is rebooted you'd need to manually toggle Hardware Acceleration and re-launch Blue Iris manually? Can't run as a service to use this feature? Other issues with Windows 7? Any info you can provide would be MUCH Appreciated.
All it means is that you cannot run blue iris as a service while using hardware acceleration if you insist on windows 7. You dont need to run blue iris as a service. You can auto start blue iris using this method
https://www.ipcamtalk.com/showthread.php/3895-How-to-get-Blue-Iris-to-automatically-start-when-restarting-PC-w-Windows-8-1?p=33159&viewfull=1#post33159
You can also use blue iris tools to monitor and restart blue iris.
You can further simply upgrade to windows 10 for free.
https://www.cnet.com/news/microsoft-windows-10-free-upgrade-offer-assistive-features/
 

SpinnerRow

Young grasshopper
Joined
Mar 22, 2016
Messages
56
Reaction score
4
https://software.intel.com/en-us/forums/intel-media-sdk/topic/670446

Another interesting caveat that me and a couple of others have run into is that there is a memory leak bug in the HD Graphics 510/520/530 drivers for newer Iintel Skylake processors that prohibits the use of HWA. If you turn it on, it chews up about 2mbyte a second of memory. 8gb doesn't last long (65 minutes to be exact). And... the bug is in the latest drivers. If you back up a few driver versions, the memory leak goes away and is replaced by a high CPU bug, negating the effects of turning on the hardware acceleration in the first place. This affects Wi7/8/10 all the same way.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Admittedly I haven't followed this Intel driver bug very closely since I don't have a BI system newer than Haswell but I haven't heard of a high CPU bug. Are you perhaps using VPP (VideoPostProc)? This one overwhelms the integrated GPU with only a small number of cameras, and should be avoided. Use h264 acceleration only.
 

SpinnerRow

Young grasshopper
Joined
Mar 22, 2016
Messages
56
Reaction score
4
Admittedly I haven't followed this Intel driver bug very closely since I don't have a BI system newer than Haswell but I haven't heard of a high CPU bug. Are you perhaps using VPP (VideoPostProc)? This one overwhelms the integrated GPU with only a small number of cameras, and should be avoided. Use h264 acceleration only.
I was using h264. Check out the memory leak thread in forum. It explains it a bit better.
 

PSPCommOp

Getting the hang of it
Joined
Jun 17, 2016
Messages
694
Reaction score
91
Location
Northeastern PA
Admittedly I haven't followed this Intel driver bug very closely since I don't have a BI system newer than Haswell but I haven't heard of a high CPU bug. Are you perhaps using VPP (VideoPostProc)? This one overwhelms the integrated GPU with only a small number of cameras, and should be avoided. Use h264 acceleration only.
So not to change the subject but can you clarify when VPP should be used and when it shouldn't be?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Only use VPP when it yields lower total system CPU usage and doesn't have an adverse effect on the system. Like with my system, if I turn it on I immediately get horrible mouse lag until I turn it off again. blueiris.exe's CPU usage may go down but System Interrupts may go up more than blueiris.exe went down.

I think the recommendation in Blue Iris release notes was to not use VPP with more than about 4 cameras. You are always safe, and not missing much, by leaving it off regardless.
 

PSPCommOp

Getting the hang of it
Joined
Jun 17, 2016
Messages
694
Reaction score
91
Location
Northeastern PA
Only use VPP when it yields lower total system CPU usage and doesn't have an adverse effect on the system. Like with my system, if I turn it on I immediately get horrible mouse lag until I turn it off again. blueiris.exe's CPU usage may go down but System Interrupts may go up more than blueiris.exe went down.

I think the recommendation in Blue Iris release notes was to not use VPP with more than about 4 cameras. You are always safe, and not missing much, by leaving it off regardless.
Thank you for clarifying. There's a little bit here and a little bit there scattered all over the forum but haven't actually seen a good explanation like that.


Sent from my iPhone using Tapatalk
 

Brad_C

Banned
Joined
Jul 11, 2016
Messages
167
Reaction score
54
Hardware acceleration is used to reduce CPU usage when decoding h.264 video streams, which happens at all times for all cameras (all that stream h.264 anyway, which is most these days) whether you use direct to disk or not.
Why on earth would it decode all streams for all cameras even when its recording direct to disk? Surely that'd be a significantly performance limiting behaviour.
 

PSPCommOp

Getting the hang of it
Joined
Jun 17, 2016
Messages
694
Reaction score
91
Location
Northeastern PA
Surely you can turn that off and have it just recording though.
What's the point then? U realize you have something missing you gonna skim thru hours and days of footage? And that's only with a few cameras, what about commercial uses where 10+ cameras are used and you want to keep track of employees, inventory, etc. Motion detection will at least provide some flags for action.


Sent from my iPhone using Tapatalk
 

Brad_C

Banned
Joined
Jul 11, 2016
Messages
167
Reaction score
54
What's the point then? U realize you have something missing you gonna skim thru hours and days of footage? And that's only with a few cameras, what about commercial uses where 10+ cameras are used and you want to keep track of employees, inventory, etc. Motion detection will at least provide some flags for action.
Ahh, I see. So it's being used as a substitute for effective review and search methods? Cool. Different strokes for different folks and all. Thats probably fairly effective for small systems, it won't scale though which explains why I see people asking about 20+ camera systems being advised to keep resolution and/or frame rate low so BI can keep up.

Can you switch it off?
 
Last edited by a moderator:

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Why on earth would it decode all streams for all cameras even when its recording direct to disk? Surely that'd be a significantly performance limiting behaviour.
It would be theoretically possible for Blue Iris to skip video decoding when there is nothing to consume the stream. This would allow BI to run on relatively little CPU usage, but only with motion detection disabled, and only while nothing was trying to view live video groups. As soon as any type of remote or local live viewing began, BI would need to (re-)initialize a whole bunch of decoders and immediately decode several seconds of video per camera just to get caught up to live. This would cause a tremendous CPU spike and delay the start of the video streaming.

It seems like a lot of effort for the developer, as it would involve revisiting every piece of code that utilizes decoded video, and making sure it can handle waiting several seconds where it used to not have to wait. We will see what the future holds, I suppose. When I started using BI, we didn't have direct to disk or hardware acceleration, and efficiency was terrible compared to where it is now.
 

Brad_C

Banned
Joined
Jul 11, 2016
Messages
167
Reaction score
54
It would be theoretically possible for Blue Iris to skip video decoding when there is nothing to consume the stream. This would allow BI to run on relatively little CPU usage, but only with motion detection disabled, and only while nothing was trying to view live video groups. As soon as any type of remote or local live viewing began, BI would need to (re-)initialize a whole bunch of decoders and immediately decode several seconds of video per camera just to get caught up to live. This would cause a tremendous CPU spike and delay the start of the video streaming.
What most systems do is when you ask for a stream, they wait for the next available I-frame, so there's never any "spike" in CPU usage or "catching up" to do. Most systems are generally configured with a 1-2 second I-frame interval where live control room use is required. For custodial where we want it *now*, the cameras requiring rapid response are generally set up at about 250ms. Decoding is done in the client. Even analytic processing is done in a "client" to the server so if you have a specific analytic workload you can farm that out to other machines. That lets you record 100 odd cameras on a single box. Different architecture.

It seems like a lot of effort for the developer, as it would involve revisiting every piece of code that utilizes decoded video, and making sure it can handle waiting several seconds where it used to not have to wait. We will see what the future holds, I suppose. When I started using BI, we didn't have direct to disk or hardware acceleration, and efficiency was terrible compared to where it is now.
I just struggled to get my head around the architecture because it is fundamentally different from all other CCTV video management systems.
 

fenderman

Staff member
Joined
Mar 9, 2014
Messages
36,897
Reaction score
21,250
Ahh, I see. So it's being used as a substitute for effective review and search methods? Cool. Different strokes for different folks and all. Thats probably fairly effective for small systems, it won't scale though which explains why I see people asking about 20+ camera systems being advised to keep resolution and/or frame rate low so BI can keep up.

Can you switch it off?
Yes it is. Sorry we cannot afford 150+ per camera licensing and or $1000+ cameras to do out analytics for us. You can easily run 15fps and 20 cameras at 1080p/3mp on a 400 i7-6700 skylake system. Likely more. Is 15fps a "low" frame rate?
Ex. 11 camera system at 27 total mp, most cams at 15fps, some 20. i7-4770, 22%, that is with the cams displaying on a monitor for live view.
If you want to make snooty sarcastic posts about the systems folks implement you can do that on other forums.
 
Top