OpenGL Accelerated HTML Overlay: Performance - x86

From RidgeRun Developer Wiki



Previous: Performance/NVIDIA Jetson Index Next: Performance/NXP i.MX 8





To let you know the characteristics of the computer where the test was run, here is a table with the hardware of the computer:

Part Description
CPU 11th Gen Intel(R) Core(TM) i7-11390H @ 3.40GHz
RAM
Micron DDR4 16 GB @ 3200MHz
Storage INTEL SSDPEKNU010TZ (1 TB)
GPU
Intel Iris Xe Graphics G7 96EUs


The following results show multiple tests for different resolutions at 30 fps, in order to dig into the multiple capabilities of the end user. You can link the limit fps of the limit tables to the average table just to realize the limits of each resolution, but remember that the limit is just virtual since we are using the element imagefreeze to set the hardware to the limit.

CPU usage

Take the following pipelines as reference:

No GL Memory

For average behavior:

gst-launch-1.0 videotestsrc is-live=1 ! "video/x-raw,framerate=30/1,height=${H},width=${W}" ! queue ! videoconvert ! "video/x-raw" ! queue ! htmloverlay url="https://www.clocktab.com/" enable-js=true web-refresh-rate=5 overlay-x=100 ! queue ! "video/x-raw" ! queue ! perf print-cpu-load=true ! fakesink

For limit behavior:

gst-launch-1.0 videotestsrc num-buffers=1 ! "video/x-raw,format=RGBA,height=${HEIGHT},width=${WIDTH}" ! imagefreeze ! queue ! htmloverlay url="https://www.clocktab.com/" enable-js=true web-refresh-rate=5 overlay-x=100 ! queue ! perf print-cpu-load=true ! fakesink

Results for average behavior

Resolution 720p 1080p
4K
Max Framerate (fps) 30 30 30
CPU(%) 5 6 15
RAM(MiB) 168 184 344

Results for limit behavior

Resolution 720p 1080p
4K
Max Framerate (fps) 586.243 103.423 50.57
CPU(%) 16 15 17
RAM(MiB) 336 416 544

GL Memory:

For average behavior:

gst-launch-1.0 videotestsrc is-live=1 ! "video/x-raw,framerate=30/1,height=${H},width=${W}" ! queue ! videoconvert ! glupload ! "video/x-raw(memory:GLMemory)" ! queue ! glhtmloverlay url="https://www.clocktab.com/" enable-js=true web-refresh-rate=5 overlay-x=100 ! queue ! "video/x-raw(memory:GLMemory)"  ! gldownload ! queue ! perf print-cpu-load=true ! fakesink

For limit behavior:

gst-launch-1.0 videotestsrc num-buffers=1 ! "video/x-raw,format=RGBA,height=${HEIGHT},width=${WIDTH}" ! imagefreeze ! queue ! glupload ! "video/x-raw(memory:GLMemory)" ! queue ! glhtmloverlay url="https://www.clocktab.com/" enable-js=true web-refresh-rate=5 overlay-x=100 ! queue ! "video/x-raw(memory:GLMemory)"  ! gldownload ! queue ! perf print-cpu-load=true ! fakesink

Results for average behavior

Resolution 720p 1080p
4K
Max Framerate (fps) 30 30 30
CPU(%) 4 6 13
RAM(MiB) 208 216 280

Results for limit behavior

Resolution 720p 1080p
4K
Max Framerate (fps) 1714.465 569.749 95.464
CPU(%) 19 21 20
RAM(MiB) 320 336 432



Previous: Performance/NVIDIA Jetson Index Next: Performance/NXP i.MX 8