Items with no label
3335 Discussions

D435 Windows 10 - USB SCP overflow (depends on resolution), no hardware timestmap available

idata
Employee
4,602 Views

I'm using up-to-date Viewer v2.12 with D435 firmware 05.09.11.00. USB 3.1 connection, Intel Z97, i7 4790 3.6 GHz CPU, Windows 10 desktop.

I'm observing input lags and USB SCP overflow messages in the Viewer. My PC has usb 3.1 and usb 2 ports. Sometimes after PC restart I do not have these problems for a while, but they appear after some time, usually in 10-30 minutes.

I disabled USB controller energy saving in Device Manager, but it did not help. I disconnected my USB hub and connected my mouse/keyboard to PC USB2 ports directly, I no more have input lags - that's good.

"USB SCP overflow" appears at varying increasing rate, if I use 1280x720 for all sensors (rgb and stereo) at 30 fps. I reduce RGB camera resolution to 960 x 540 and I do not have overflow problem at all and I'm fine with it. It looks limited to USB3 bandwidth, not the CPU or memory.

Question 1. Are there any statistics of maximum resolution/fps settings per various systems? I'm trying to understand whether my system is not quite good for the maximum settings or not.

Question 2. If I click "info" icon above any stream in the Viewer, it says it uses System time and no hardware timestmap available. Is that fine?

Question 3. Windows resource monitor does not give insights to USB usage. Are there any good 3rdparty software for USB monitoring?

Thanks

0 Kudos
1 Solution
MartyG
Honored Contributor III
2,309 Views

Although the 400 Series cameras work with any Intel or ARM processor, your 4790 processor is a 4th Generation chip that was considered to be the minimum requirement for the first RealSense cameras in 2014, whose technology was simpler than the 400 Series of today. Intel chips are now on the 8th Generation. So your old CPU may very well be creating processing bottlenecks that result in lag when using the camera on high settings.

The USB lag that you report is reminiscent of the RealSense R200 camera, one of the original RealSense generation, that would sometimes have applications freeze when running them at 60 FPS because the USB port was overwhelmed with bandwidth, and the solution was to drop to 30 FPS to reduce the bandwidth being sent to the port.

In regard to your questions:

1. As far as I know, there are not benchmark charts available for camera performance on different hardware specifications.

2. Support for hardware timestamps is not yet available, and system-time is being used until then. There is currently no date available for when hardware timestamp support will be released.

3. The RealSense community can likely give better recommendations than I can about good USB monitoring utilities.

View solution in original post

3 Replies
MartyG
Honored Contributor III
2,310 Views

Although the 400 Series cameras work with any Intel or ARM processor, your 4790 processor is a 4th Generation chip that was considered to be the minimum requirement for the first RealSense cameras in 2014, whose technology was simpler than the 400 Series of today. Intel chips are now on the 8th Generation. So your old CPU may very well be creating processing bottlenecks that result in lag when using the camera on high settings.

The USB lag that you report is reminiscent of the RealSense R200 camera, one of the original RealSense generation, that would sometimes have applications freeze when running them at 60 FPS because the USB port was overwhelmed with bandwidth, and the solution was to drop to 30 FPS to reduce the bandwidth being sent to the port.

In regard to your questions:

1. As far as I know, there are not benchmark charts available for camera performance on different hardware specifications.

2. Support for hardware timestamps is not yet available, and system-time is being used until then. There is currently no date available for when hardware timestamp support will be released.

3. The RealSense community can likely give better recommendations than I can about good USB monitoring utilities.

idata
Employee
2,309 Views

I've made some more tests on systems of a less performance.

1) Lenovo T450s laptop (i5-5200U 2.2GHz), windows 10, USB3. The Viewer has capped maximum resolution settings to 640x480, within these limits no problems observed.

2) Desktop i5-3570 3.4GHz, windows 10, USB3. Although the Viewer allowed maximum resolution settings, it has put limits on FPS, only 6 frames per second. Within these limits I had depth sensor stream heavily lagging, USB SCP overflow messages present.

It looks like Viewer is doing some estimations in order to pick its limits. As windows resource monitor shows, the CPU usage is not overwhelming, which could mean it's bandwidth limited.

I'm going to dig into the source code to find out what kind of estimations Viewer makes. Also I think about buying PCI-e USB3 extension board.

0 Kudos
MartyG
Honored Contributor III
2,309 Views

A PCI-e USB expansion board probably would not make much difference if the bottleneck is in other hardware components such as the processor and graphics.

It is worth noting that that a 5200U (5th generation processor) that is newer than the 4th generation machines you mentioned earlier would have worse performance than 3570 (3rd generation). It is likely that the faster GHz of your 3rd generation processor, and perhaps a better graphics component in the desktop machine than the one in the laptop, help to provide greater capabilities. For example, my main work machine is a laptop with a 6th generation processor, but it runs very slow compared to my desktop machine with the same generation processor because I had a dedicated graphics card in the desktop.

0 Kudos
Reply