Tool/software:
My SDK version: RTOS 10.01.00.04
Hi TI experts,
I'm creating a custom app based on "app_tidl_avp4", and I've made the following two changes:
- Change display output to SRV
- Change TIDL from Seg to OD
This change has caused a performance drop across the graph, it's now around 20fps.
GRAPH: custom_app_graph (#nodes = 11, #executions = 39722) NODE: CAPTURE1: capture_node: avg = 1622 usecs, min/max = 154 / 61714 usecs, #executions = 39722 NODE: VPAC_VISS1: viss_node: avg = 18505 usecs, min/max = 17735 / 24338 usecs, #executions = 39722 NODE: MCU2-0: aewb_node: avg = 455 usecs, min/max = 154 / 65242 usecs, #executions = 39722 NODE: VPAC_LDC1: ldc_node: avg = 16601 usecs, min/max = 13899 / 24016 usecs, #executions = 39722 NODE: VPAC_MSC2: scaler_node: avg = 26454 usecs, min/max = 21934 / 33801 usecs, #executions = 39722 NODE: DSP-1: PreProcNode: avg = 3554 usecs, min/max = 3328 / 4447 usecs, #executions = 39722 NODE: DSP_C7-1: tidl_node: avg = 49816 usecs, min/max = 47580 / 54819 usecs, #executions = 39722 NODE: DSP-2: DrawBoxDetectionsNode: avg = 14447 usecs, min/max = 8209 / 19117 usecs, #executions = 39722 NODE: VPAC_MSC1: mosaic_node: avg = 16820 usecs, min/max = 3871 / 84152 usecs, #executions = 39722 NODE: MPU-0: OpenGL_SRV_Node: avg = 15226 usecs, min/max = 11878 / 46502 usecs, #executions = 39722 NODE: DISPLAY1: DisplayNode: avg = 8845 usecs, min/max = 106 / 33199 usecs, #executions = 39729 PERF: FILEIO: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0 PERF: TOTAL: avg = 49885 usecs, min/max = 32556 / 74620 usecs, #executions = 17449 PERF: TOTAL: 20. 4 FPS
I thought that by splitting the graphs into two, one for the SRV side and one for the OD side, I could improve performance.(The red and blue areas in the figure below)
But splitting the graph into two did not improve the performance.
GRAPH: custom_app_graph1 (#nodes = 5, #executions = 296) NODE: CAPTURE1: capture_node: avg = 13394 usecs, min/max = 166 / 59766 usecs, #executions = 296 NODE: VPAC_VISS1: viss_node: avg = 19128 usecs, min/max = 17962 / 20964 usecs, #executions = 296 NODE: MCU2-0: aewb_node: avg = 310 usecs, min/max = 156 / 1371 usecs, #executions = 296 NODE: MPU-0: OpenGL_SRV_Node: avg = 11470 usecs, min/max = 10603 / 44925 usecs, #executions = 296 NODE: DISPLAY1: DisplayNode: avg = 9912 usecs, min/max = 89 / 16342 usecs, #executions = 296 GRAPH: custom_app_graph2 (#nodes = 6, #executions = 148) NODE: VPAC_LDC1: ldc_node: avg = 14735 usecs, min/max = 13905 / 15450 usecs, #executions = 148 NODE: VPAC_MSC2: scaler_node: avg = 23128 usecs, min/max = 20792 / 24294 usecs, #executions = 148 NODE: DSP-1: PreProcNode: avg = 3243 usecs, min/max = 3108 / 3427 usecs, #executions = 148 NODE: DSP_C7-1: tidl_node: avg = 45332 usecs, min/max = 41988 / 48336 usecs, #executions = 148 NODE: DSP-2: DrawBoxDetectionsNode: avg = 7428 usecs, min/max = 7023 / 13685 usecs, #executions = 151 NODE: VPAC_MSC1: mosaic_node: avg = 4696 usecs, min/max = 3857 / 29426 usecs, #executions = 151 PERF: FILEIO: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0 PERF: TOTAL: avg = 50167 usecs, min/max = 20 / 188239 usecs, #executions = 304 PERF: TOTAL: 19.93 FPS
My goal is to have SRV running at 30fps and OD running at 15fps. Could you please give me some advice how I can achieve this?
Regards,
Daigo