This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi TI experts,
I print Tda4+ox08b performance statistics information,the log see the frame rate is 12.55 fps,the root cause maybe CAPTURE2 waster about 79ms ,but the sensor setting is 30fps, so please help me check the issue,the attachment is the performance statistics log,thanks!
Best regads,
renhui
Summary of CPU load, ==================== CPU: mpu1_0: TOTAL LOAD = 0.23 % ( HWI = 0. 5 %, SWI = 0. 0 % ) CPU: mcu2_0: TOTAL LOAD = 27. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: mcu2_1: TOTAL LOAD = 15. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c6x_1: TOTAL LOAD = 1. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c6x_2: TOTAL LOAD = 1. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c7x_1: TOTAL LOAD = 0. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) HWA performance statistics, =========================== HWA: VISS: LOAD = 16.27 % ( 99 MP/s ) HWA: MSC0: LOAD = 23.52 % ( 149 MP/s ) DDR performance statistics, =========================== DDR: READ BW: AVG = 576 MB/s, PEAK = 5369 MB/s DDR: WRITE BW: AVG = 407 MB/s, PEAK = 1759 MB/s DDR: TOTAL BW: AVG = 983 MB/s, PEAK = 7128 MB/s Detailed CPU performance/memory statistics, =========================================== DDR_SHARED_MEM: Alloc's: 23 alloc's of 145337416 bytes DDR_SHARED_MEM: Free's : 0 free's of 0 bytes DDR_SHARED_MEM: Open's : 23 allocs of 145337416 bytes DDR_SHARED_MEM: Total size: 536870912 bytes CPU: mcu2_0: TASK: IPC_RX: 0. 1 % CPU: mcu2_0: TASK: REMOTE_SRV: 1.37 % CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 % CPU: mcu2_0: TASK: TIVX_CPU_0: 4.44 % CPU: mcu2_0: TASK: TIVX_VPAC_N: 0. 0 % CPU: mcu2_0: TASK: TIVX_VPAC_L: 0. 0 % CPU: mcu2_0: TASK: TIVX_VPAC_M: 0.14 % CPU: mcu2_0: TASK: TIVX_VPAC_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_VPAC_V: 0.49 % CPU: mcu2_0: TASK: TIVX_CAPT1: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT2: 0.10 % CPU: mcu2_0: TASK: TIVX_DISP1: 0. 9 % CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 % CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT5: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT6: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT7: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT8: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: HEAP: DDR_LOCAL_MEM: size = 16777216 B, free = 16262656 B ( 96 % unused) CPU: mcu2_0: HEAP: L3_MEM: size = 262144 B, free = 245248 B ( 93 % unused) CPU: mcu2_1: TASK: IPC_RX: 0. 0 % CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 % CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 % CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 % CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 % CPU: mcu2_1: TASK: TIVX_CPU_1: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: HEAP: DDR_LOCAL_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: mcu2_1: HEAP: L3_MEM: size = 262144 B, free = 262144 B (100 % unused) CPU: c6x_1: TASK: IPC_RX: 0. 0 % CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 % CPU: c6x_1: TASK: LOAD_TEST: 0. 0 % CPU: c6x_1: TASK: TIVX_CPU: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: HEAP: DDR_LOCAL_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused) CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B (100 % unused) CPU: c6x_2: TASK: IPC_RX: 0. 0 % CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 % CPU: c6x_2: TASK: LOAD_TEST: 0. 0 % CPU: c6x_2: TASK: TIVX_CPU: 0. 0 % [MCU2_0] 100.096391 s: AWB Gain = (736, 512, 512, 946) CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % [MCU2_0] 100.175997 s: AWB Gain = (734, 512, 512, 946) CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % [MCU2_0] 100.255186 s: AWB Gain = (734, 512, 512, 946) [MCU2_0] 100.334474 s: AWB Gain = (734, 512, 512, 946) CPU: c6x_2: HEAP: DDR_LOCAL_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused) CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B (100 % unused) CPU: c7x_1: TASK: IPC_RX: 0. 0 % CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 % CPU: c7x_1: TASK: LOAD_TEST: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: TIVX_C7_1_P: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: HEAP: DDR_LOCAL_MEM: size = 268435456 B, free = 268435200 B ( 99 % unused) CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused) CPU: c7x_1: HEAP: L2_MEM: size = 458752 B, free = 458752 B (100 % unused) CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused) CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 385875968 B, free = 385875968 B (100 % unused) GRAPH: graph_84 (#nodes = 5, #executions = 279) NODE: CAPTURE2: node_95: avg = 79524 usecs, min/max = 78542 / 137571 usecs, #executions = 279 NODE: VPAC_VISS1: VISS_Processing: avg = 14450 usecs, min/max = 14259 / 14554 usecs, #executions = 279 NODE: MCU2-0: 2A_AlgNode: avg = 15875 usecs, min/max = 13790 / 23448 usecs, #executions = 279 NODE: VPAC_MSC1: node_106: avg = 19618 usecs, min/max = 19577 / 19800 usecs, #executions = 279 NODE: DISPLAY1: node_108: avg = 8694 usecs, min/max = 76 / 16896 usecs, #executions = 279 PERF: TOTAL: avg = 79652 usecs, min/max = 78632 / 152326 usecs, #executions = 279 PERF: TOTAL: 12.55 FPS
请看下面e2e工程师的回复。
How many channels are you trying to capture? Are all of these channels transmitting at 30fps? Because CSIRX node just processing interrupts, there isn't much processing in CSIRX node. So if your channels are async and/or its not outputting at 30fps, capture node's timing will increase..
请看下面e2e工程师的回复。
In the TDA4+ox08b statement, what is ox08b? Is it some sensor that you are trying to enable on TDA4 device?
Also are you building vision in debug profile? or is Linux OpenVX application getting blocked due to some reason?
Can you capture timestamp in the driver callback and see if the callback is received at every 33ms? This will confirm if the sensor is outputting at 30fps.