Performance and troubleshooting
223Alvium G1 User Guide V1.7.0
When GVSPDriver is set to Socket, GVSP packets are processed in the user space.
The downside of this approach: For each packet, system calls from the user space
are required to enable GVSP packets pass from the kernel space.
Switching and transferring data between the kernel space and the user space is a
time consuming process. This limits the number of GVSP packets a system can
handle per second. Ensure the camera does not exceed this limit.
When
GVSPDriver is set to Filter, the GVSP packets are processed by the filter
driver that runs in the kernel space. This removes the linear dependency between
system calls and GVSP packets. The filter driver copies the complete frame into the
user space, coupling the number of system calls to the frame rate. Since the frame
rate is substantially lower then the packet rate, the system has more resources left
to handle the GVSP packets.
We recommend using the filter driver instead of the socket driver to increase
performance and reliability.
If you cannot use the filter driver, you can reduce the number of GVSP packets per
second. Increasing
GVSPPacketSize is the only option to achieve this without
reducing the performance of the camera.
GVSPPacketSize
GVSPPacketSize configures the total size of a GVSP packet, including the IP-, UDP-
and GVSP headers.
The performance of the stream processing is largely determined by the number of
received packets. Figure 89 shows how
GVSPPacketSize affects the CPU load
during streaming at different packet sizes for the socket driver and the filter driver.
The diagram shows the total CPU load over all cores; on single cores, the difference
between socket and driver is much larger. Values on your system may vary from
values measured on our test system, but the relation is the same.
The packet size is inversely proportional to the number of packets per second.
Figure 89 shows that increasing the packet size reduces the number of packets,
minimizing the risk of lost frames.
Figure 89: GVSPPacketSize versus CPU usage while the camera is streaming
768 2304 3840 5376 6912 9000
ZĞůĂƟǀĞWhƵƐĂŐĞ
's^WƉĂĐŬĞƚƐŝnjĞLJƚĞƐ
^ŽĐŬĞƚĚƌŝǀĞƌ
&ŝůƚĞƌĚƌŝǀĞƌ
hŶƐƚĂďůĞ^ƚƌĞĂŵ ^ƚĂďůĞ
0
1
2
3
4
5