OpenGL Accelerated HTML Overlay: Performance - x86
|
OpenGL Accelerated HTML Overlay |
---|
Basics |
Getting Started |
Library User Manual |
GStreamer |
Examples |
Performance |
Contact Us |
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 |