Inconsistant Performance for BlueIris UI3

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
Still makes no sense.

Plenty of CPU Headroom on each end, and I have a 40Mbps Fibre Link between client and server so plenty of headroom there especial when web server setting in BI is limited to 2048.
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
Have now confirmed the exact same symptoms happen on another installation.

Seems to be that the video decoding differs with program or service mode and between viewing all cameras or just one.

I can get good fps on all cams and bad on 1 cam or bad fps on all cams and good on single cam but cannot get good fps on both.

The fact I can get good fps on all and single alternatives means it cannot be the hardware or network.

Sent from my Pixel XL using Tapatalk
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
I just can't work out if the problem lies in BI or UI3.

Sent from my Pixel XL using Tapatalk
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
After many many hours I think I have worked out the problem.

I still get seemingly random performance issues in terms of either having Good All camera Performance + Bad SIngle Camera, or, Bad All Camera + Good Single Camera.

What I have noticed is that when I get the good vs bad performance, it seems the Hardware decoding is the issue. I can see in the GPU graph on task manager that when I get crap frame rates, the gpu isn't being used. I see the gpu being used when I get the full 12 FPS.

Now I only wish that the GPU was used ALL the time.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Can you screenshot the task manager when the GPU usage is happening?

In my screenshot here, GPU 0 is my onboard graphics, and I believe the "Video Decode" text indicates the Video Decode acceleration is the feature responsible for most of that GPU's usage in Blue Iris.
GPU 1 is my GT 1030 card, and I believe the "3D" text likewise indicates that the main load on that card is standard rendering work (it is accelerating the rendering of the Blue Iris GUI, reducing BI's CPU usage while the GUI is open).



Note how none of my usage numbers are anywhere near 100%... are any of yours?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Hardware acceleration shouldn't be an inconsistent thing. Either you'll see fairly steady usage on the Video Decode engine or you won't. I can't imagine why it would toggle on its own ... the hardware acceleration toggle isn't even affected by profile changes so that wouldn't explain it.
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
Hardware acceleration shouldn't be an inconsistent thing. Either you'll see fairly steady usage on the Video Decode engine or you won't. I can't imagine why it would toggle on its own ... the hardware acceleration toggle isn't even affected by profile changes so that wouldn't explain it.
I'll grab some screens later when I access it, but how can it be consistent? When there is more load for rendering the video such as viewing bi or remote access, there should be more you usage to render the video. When no one is viewing the video there should be less GPU usage. I agree that it shouldn't be as dramatic as I am getting with the affected frame rates but I wouldn't think it should be completely consistent either.

Sent from my Pixel XL using Tapatalk
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Blue Iris only uses Quick Sync decoding to decode incoming streams, and that is a very consistent load, unaffected by any other activity (UNLESS you've turned on the "Limit decode" feature).

The only other GPU usage that Blue Iris creates, to my knowledge, is rendering its local console (the Blue Iris local interface).
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
I can only say what I can see.

I have a dedicated box i7-8700K for the NVR, nothing else running, Windows 10 64bit, 25 Cameras of which 19 are 1080 and 6 are 4K, 12fps except 1 1080p camera at 20fps and 1 4K camera at 20fps.

Currently with BI minimised, and no remote I am getting CPU 5% and GPU jumping between 5-15%.

I do have Limit decode turned on, but when off on all cams, the whole system becomes unresponsive. 100% CPU and GPU. Not sure why as looking up 8700K on Blue Iris Update Helper shows I should have plenty of headroom. For reference my system is currently at around 1200 MP/s

The only things I can think of that may affect things is either me using a Reverse Proxy for the remote viewing (and can't see why that would), or crappy GPU drivers, I have seen the bad GPU drivers link (showing which drivers are good for each CPU) but an 8700 isn't listed or noted as having any bad drivers.
 
Last edited:

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
Oh and just realised, since update to 4.7.4 now massive memory leak. Prior was using around 7Gb RAM now hitting 13Gb out of 16Gb Total.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Updating to 4.7.4 likely is unrelated. I'm on that version with my i7-8700K box and it is fine.

See this page: Memory Leak: Quick Sync (Hardware Acceleration) | IP Cam Talk

i7-8700K is 8th generation. Read and follow the instructions for 8th generation. (Click the Spoiler box to get full instructions). Afterward, disable Windows 10's automatic driver update for the intel GPU (see the bottom of the wiki page I linked).
 
Last edited:

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
The "Limit decoding" feature works by having Blue Iris only decode iframes (typically only one frame every 1-4 seconds). It is a relatively new feature that still has some rough edges. The main rough edge is that opening a group camera stream (in a web UI or mobile app) temporarily disables Limit decode for all visible cameras, causes CPU usage to go way way up, and people tend to have a lot of trouble figuring out what is wrong.

So my advice is to never turn on "Limit decoding" until you have the system running smoothly without it.
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
Having allot of trouble trying to install that driver.

Windows says its incompatible, and when trying to manually override that it ends up failing to install. Code 43
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
OK, got the 4664 drivers to install but is showing as an error Code 43 and no GPU now.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
You aren't supposed to install 4664 drivers. Those are for 6th and 7th gen. Your CPU is 8th gen. You should install driver version 15.60.2.4901 from here Download Intel® Graphics Driver for Windows* [15.60]

The "hack" to fix quick sync on i7-8700K is to overwrite the media SDK files from the 4901 driver with the older media SDK files from the 4664 driver. You don't want the entire 4664 driver, only its Media SDK files. Those are in the <Intel8thGenDriverFix.zip> file linked in the wiki, though you could also get them from a zip distribution of 4664 from Intel.

Sorry, I think there is a language barrier here. I should try to be more clear!
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
No language barrier. My Mistake. I saw the 6446 directly above just didn't notice it wasn't under 8th gen.

Hopefully might be the issue as from memory I may have done exactly that originally too.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
Yup. Don't forget the part about blocking automatic driver updates using the group policy editor.
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
GPU stuff seems to be working properly now, but in the process of disabling Limit decoding, but have about 2 cameras to go and BI keeps crashing after taking all the RAM...

Wish there was a Safe Launch feature as I only get a few seconds to make a change before it freezes and the whole system locks up.
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
Just want to get things clarified in terms of what should and shouldn't be.

System is 17-8700K 16Gb RAM 240Gb SSD 1TB SATA.
Cameras:
18 x 1080p 12fps iFrame 48
5 x 4K 12fps iFrame 48
1 x 1080p 20fps iFrame 20
1 x 4K 20fps iFrame 20

Total 1200MP/sec

Also note that as of right now, 2 of the 12fps 1080p cameras are removed due to camera issues and are awaiting replacement.

Running BI 4.7.4
GPU Intel 630 Driver 15.45.18.4664 with SDK File Patch.

Recording Direct to Disk Continuous. As of right now, I have all but 2 cameras have Limit decoding turned off.

Currently, right now the system is barely working. Takes around 5 attempts to get into RDP. Click on things takes about 30 seconds to do something and getting constant memory crashes. Screen constantly blanks out for 30+ seconds, basically, it's like trying to run Windows Vista on the original Atom processors :).

If you want bp2008, I am more than happy for you to remote in and have a look. Maybe you can see something that I have missed. Can't hurt to get fresh eyes on it.

Currently trying to turn Limit decoding back on to get the system usable again.
 

eangulus

Getting the hang of it
Joined
May 19, 2015
Messages
104
Reaction score
6
OK, after setting Limit Decode back to ON for all cameras I am getting better performance again.

Still have the issue with low frames on all cams vs single cams.

I have noticed something else thou, I am getting very high RAM usage, like right this second its using 12Gb out of the 16Gb. Thats what the BI service itself is using.

Would adding more RAM (say another 16Gb chip) help with performance in any meaningful way?
 
Top