Open wintersui opened 1 year ago
Some questions:
Q: Did you try to monitor the CPU use? A: CPU usage was 50%. I do not think it's CPU's problem.
Q: Did you use Aravis on Ubuntu ? A: I also use aravis on Ubuntu, it works well. But, Windows is not good.
Q: Using arv-camera-test-0.8, did you try to increase the socket buffer size ? A: Yes, I have tried to increase the socket buffer size from 16 to 1600, the time out still happened.
Please attach the output of: arv-camera-test-0.8 --duration=10 -d all
>= 200000; 21; 67810; 0
< 0; 0; 0; 0
min : 279192; 0; 0
max : 1.57648e+06; 1.44789e+06; 117582
last max at : 13; 95625; 113213
counter : 21: 113429: 113408
[14:10:55.360] ๐ ธ stream> [GvStream::finalize] n_completed_buffers = 1 [14:10:55.361] ๐ ธ stream> [GvStream::finalize] n_failures = 18 [14:10:55.361] ๐ ธ stream> [GvStream::finalize] n_underruns = 0 [14:10:55.361] ๐ ธ stream> [GvStream::finalize] n_timeouts = 18 [14:10:55.361] ๐ ธ stream> [GvStream::finalize] n_aborteds = 2 [14:10:55.361] ๐ ธ stream> [GvStream::finalize] n_missing_frames = 0 [14:10:55.362] ๐ ธ stream> [GvStream::finalize] n_size_mismatch_errors = 0 [14:10:55.362] ๐ ธ stream> [GvStream::finalize] n_received_packets = 113893 [14:10:55.362] ๐ ธ stream> [GvStream::finalize] n_missing_packets = 108889 [14:10:55.362] ๐ ธ stream> [GvStream::finalize] n_error_packets = 0 [14:10:55.362] ๐ ธ stream> [GvStream::finalize] n_ignored_packets = 464 [14:10:55.362] ๐ ธ stream> [GvStream::finalize] n_resend_requests = 715179 [14:10:55.363] ๐ ธ stream> [GvStream::finalize] n_resent_packets = 59041 [14:10:55.363] ๐ ธ stream> [GvStream::finalize] n_resend_ratio_reached = 10 [14:10:55.363] ๐ ธ stream> [GvStream::finalize] n_resend_disabled = 0 [14:10:55.363] ๐ ธ stream> [GvStream::finalize] n_duplicated_packets = 8861 [14:10:55.363] ๐ ธ stream> [GvStream::finalize] n_transferred_bytes = 166934404 [14:10:55.364] ๐ ธ stream> [GvStream::finalize] n_ignored_bytes = 681338 [14:10:55.364] ๐ ธ stream> [Stream::finalize] Flush 48 buffer[s] in input queue [14:10:55.364] ๐ ธ stream> [Stream::finalize] Flush 2 buffer[s] in output queue
I see your packet size is very small. Have you enabled jumbo frames on your network adapter? Is there a chance you have the known issue with particular windows updates installed which break changing the MTU on a network interface?
@wintersui , did you try what @gotnone suggested ?
Describe the bug I have used MSys2 to compile the source on Win10. Net Adapter of my PC is 1000Mb. When used arv-camera-test command to test the camera, a lot of timeout errors were showed on console. My camera's resolution is 4000 x 3000, frames are almost timeout error images. But, I changed the resolution to smaller size, it works well.
I have tried to modify the source code, find the problem. In arvgvstream.c:_loop() method, I removed all source, only left the g_socket_receive_messages(). The average speed was still 20MiB/s.
I have used arv-viewer.exe to test the camera, GUI Page showed the same timeout errors and frames speed, camera's image update rate was very very slow.
Can you fixed the timeout problem ?
Expected behavior On my Ubuntu20 PC, Fps was ok, camera's image was well too. frames/s - 90MiB/s
Camera description:
Platform description:
Additional context I use the same camera on Ubuntu20, it works well.