Performance measurement on Qualcomm Dragonwing 9075 EVK
Appearance
| GStreamer Image Signal Processor |
|---|
| Image Signal Processor Basics |
| Docs |
| Getting Started |
| Examples |
| Performance |
| Troubleshoot |
| Contact Us |
Benchmark environment
The following setup was used for all the benchmarks:
- Qualcomm Dragonwing 9075 EVK
- Ubuntu 24.04 image provided by Canonical
The measurements are taken considering the following criteria:
- Average behaviour: measurements considering typical image processing pipelines. The CPU consumption excludes the video source overhead.
- Limit performance: measurements by stressing the GStreamer element
GStreamer Bayer10 Support
GStreamer has support for 8-bit Bayer only. Please follow RidgeRun Wiki on Building custom v4l2src to support 10 bit Bayer.
Environment
Please, enable the display with the following instructions and set the following environment variables (if you are remotely connected to the board):
export QT_QPA_PLATFORM=wayland
CSC Benchmarking
Instruments:
- CPU:
topcommand - RAM:
topcommand - Framerate: GstPerf
Pipeline:
WIDTH=1920 HEIGHT=1080 SRC_FORMAT=RGBA TGT_FORMAT=NV12 # Average Behaviour: CPU and RAM gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,format=$SRC_FORMAT,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispclcsc ! "video/x-raw,format=$TGT_FORMAT" ! perf ! fakesink -v # Limit Performace: Framerate gst-launch-1.0 videotestsrc num-buffers=1 ! imagefreeze ! "video/x-raw,format=$SRC_FORMAT,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispclcsc ! "video/x-raw,format=$TGT_FORMAT" ! perf ! fakesink -v
Conf1: RGBA -> NV12
Conf2: NV12 -> RGBA
| Resolution | CPU Load (overall) | GPU Load (overall) | Framerate (Conf1) | Framerate (Conf2) | RAM Consumption |
|---|---|---|---|---|---|
| 720p | 8.9% | 9.65% | 156.974 | 281.499 | 0.1% |
| 1080p | 15% | 10.76% | 68.323 | 152.159 | 0.1% |
| 4K | 44% | 11.67% | 19.072 | 37.138 | 0.1% |
Debayer Benckmarking
Instruments:
- CPU:
topcommand - RAM:
topcommand - Framerate: GstPerf with is-live=false
Pipeline:
WIDTH=1920 HEIGHT=1080 GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime(filter=ispcldebayer)" gst-launch-1.0 videotestsrc is-live=true ! "video/x-bayer,format=(string)bggr,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispcldebayer ! perf ! fakesink -v
| Resolution | CPU Load (overall) | GPU Load (overall) | Framerate | RAM Consumption |
|---|---|---|---|---|
| 720p | 11% | 0.65% | 232.873 | 0.1% |
| 1080p | 19.5% | 1.42% | 249.828 | 0.1% |
| 4K | 71.8% | 5.97% | 72.447 | 0.1% |
AWB Benchmarking
Instruments:
- CPU:
topcommand - RAM:
topcommand - Framerate: GstPerf with is-live=false
Pipeline:
WIDTH=1920 HEIGHT=1080 GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime(filter=ispcldebayer)" gst-launch-1.0 videotestsrc is-live=true ! "video/x-bayer,format=(string)bggr,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispclawb ! fakesink -v
| Resolution | CPU Load (overall) | GPU Load (overall) | Framerate | RAM Consumption |
|---|---|---|---|---|
| 720p | 13.6% | 9.78% | 107.469 | 0.1% |
| 1080p | 24.3% | 22.59% | 76.806 | 0.1% |
| 4K | 65.8% | 83.62% | 27.420 | 0.1% |
Histogram Equalization Benchmarking
Instruments:
- CPU:
topcommand - RAM:
topcommand - Framerate: GstPerf
Pipeline:
WIDTH=1920 HEIGHT=1080 FORMAT=NV12 # Average Behaviour: CPU and RAM gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,format=$FORMAT,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispcleq ! perf ! fakesink -v # Limit Performace: Framerate gst-launch-1.0 videotestsrc num-buffers=1 ! imagefreeze ! "video/x-raw,format=$FORMAT,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispcleq ! perf ! fakesink -v
| Resolution | CPU Load (overall) | GPU Load (overall) | Framerate (NV12) | Framerate (GRAY8) | RAM Consumption |
|---|---|---|---|---|---|
| 720p | 16.2% | 5.53% | 139.355 | 198.975 | 0.1% |
| 1080p | 24.2% | 12.83% | 103.954 | 112.607 | 0.1% |
| 4K | 64.2% | 50.65% | 28.707 | 31.115 | 0.1% |