Difference between revisions of "OpenGL Accelerated HTML Overlay/Performance/NVIDIA Jetson"
(→Graphical Rendering by OpenGL) |
|||
(13 intermediate revisions by 3 users not shown) | |||
Line 5: | Line 5: | ||
__TOC__ | __TOC__ | ||
− | == Library | + | == Library performance == |
− | The | + | The library has two major components: the hardware-accelerated graphical rendering done by OpenGL and the web rendering engine done by Webkit GTK. |
− | In the following section, you will find the performance for the | + | In the following section, you will find the performance for the library separated into these two sections. |
=== Graphical Rendering by OpenGL === | === Graphical Rendering by OpenGL === | ||
Line 139: | Line 139: | ||
</center> | </center> | ||
− | === | + | === Web rendering by WebkitGTK === |
+ | The following table shows the CPU usage, GPU usage, processing time and FPS. | ||
+ | |||
<br> | <br> | ||
<center> | <center> | ||
Line 168: | Line 170: | ||
| style="font-weight:bold; text-align:left;" | Power Configuration | | style="font-weight:bold; text-align:left;" | Power Configuration | ||
| colspan="12" | 10 W Desktop Mode | | colspan="12" | 10 W Desktop Mode | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| style="font-weight:bold; text-align:left;" | Draw | | style="font-weight:bold; text-align:left;" | Draw | ||
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 9.2 |
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 0 |
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 215.425 |
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 4.64 |
− | | style="background-color:#ffce93;" | | + | | style="background-color:#ffce93;" | 9.2 |
− | | style="background-color:#ffce93;" | | + | | style="background-color:#ffce93;" | 0 |
− | | style="background-color:#ffce93;" | | + | | style="background-color:#ffce93;" | 52.525 |
− | | style="background-color:#ffce93;" | | + | | style="background-color:#ffce93;" | 19 |
− | | style="background-color:#38fff8;" | | + | | style="background-color:#38fff8;" | 6.77 |
− | | style="background-color:#38fff8;" | | + | | style="background-color:#38fff8;" | 0 |
− | | style="background-color:#38fff8;" | | + | | style="background-color:#38fff8;" | 23.095 |
− | | style="background-color:#38fff8;" | | + | | style="background-color:#38fff8;" | 43.3 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| style="font-weight:bold; text-align:left;" | Power Configuration | | style="font-weight:bold; text-align:left;" | Power Configuration | ||
− | | colspan="12" | 20 W + Jetson Clocks (Max Power) | + | | colspan="12" | 20 W + Jetson Clocks (Max Power)<ref name=performace_note>The reduced results with the 20W power mode is expected since the CPU is running at a reduced clock of 1.4GHz compared to the 1.9GHz </ref> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- style="vertical-align:middle;" | |- style="vertical-align:middle;" | ||
| style="font-weight:bold; text-align:left;" | Draw | | style="font-weight:bold; text-align:left;" | Draw | ||
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 6.1 |
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 0 |
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 281.714 |
− | | style="background-color:#9aff99;" | | + | | style="background-color:#9aff99;" | 3.55 |
− | | style="background-color:#ffce93;" | | + | | style="background-color:#ffce93;" | 6.3 |
− | | style="background-color:#ffce93;" | 0 | + | | style="background-color:#ffce93;" | 0 |
− | | style="background-color:#ffce93;" | | + | | style="background-color:#ffce93;" | 69.137 |
− | | style="background-color:#ffce93;" | | + | | style="background-color:#ffce93;" | 14.46 |
− | | style="background-color:#38fff8;" | | + | | style="background-color:#38fff8;" | 5.6 |
− | | style="background-color:#38fff8;" | 0 | + | | style="background-color:#38fff8;" | 0 |
− | | style="background-color:#38fff8;" | | + | | style="background-color:#38fff8;" | 28.515 |
− | | style="background-color:#38fff8;" | | + | | style="background-color:#38fff8;" | 35.1 |
|- style="vertical-align:middle;" | |- style="vertical-align:middle;" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
</center> | </center> | ||
+ | |||
+ | * Note: When on mode 20W+Jetson Clocks the frequency of operation is 1.4 GHz and for 10w+Desktop mode the frequency of operation is 1.9 GHz. This is shown for the measurements for processing time in each mode. | ||
+ | * Note: There is no GPU consumption since we are using a flag that disables the use of GPU for WebkitGTK. | ||
+ | <source lang=bash> | ||
+ | export WEBKIT_DISABLE_COMPOSITING_MODE=1 | ||
+ | </source> | ||
== GStreamer plugin performance == | == GStreamer plugin performance == | ||
Line 282: | Line 235: | ||
| style="background-color:#f8dab4;" | 13.4852 | | style="background-color:#f8dab4;" | 13.4852 | ||
|- | |- | ||
− | | style="font-weight:normal;" | FPS(20W-6core & jetson-clocks) | + | | style="font-weight:normal;" | FPS(20W-6core & jetson-clocks)<ref name=performace_note/> |
| style="background-color:#a0f8f5;" | 120.5662 | | style="background-color:#a0f8f5;" | 120.5662 | ||
| style="background-color:#f8dab4;" | 56.2988 | | style="background-color:#f8dab4;" | 56.2988 | ||
Line 289: | Line 242: | ||
</center> | </center> | ||
===Used overlay=== | ===Used overlay=== | ||
− | The user overlay (click [https:// | + | The user overlay (click [https://drive.google.com/file/d/1iflIbRJxrRg5m9s0ZhfCOWusdoCVbIF7/view?usp=sharing View Source] on the wiki to see the html): |
<html> | <html> | ||
<head> | <head> |
Latest revision as of 14:42, 1 September 2023
|
|
OpenGL Accelerated HTML Overlay | |
---|---|
Basics | |
|
|
Getting Started | |
|
|
Library User Manual | |
|
|
GStreamer | |
|
|
Examples | |
|
|
Performance | |
|
|
Contact Us | |
|
Contents
Library performance
The library has two major components: the hardware-accelerated graphical rendering done by OpenGL and the web rendering engine done by Webkit GTK. In the following section, you will find the performance for the library separated into these two sections.
Graphical Rendering by OpenGL
In this section, we present results about the performance of HTML Overlay tested in the following setup:
- Board: NVIDIA Jetson Xavier NX
- Jetpack: 5.1
All the packages and dependencies are retrieved from the default APT repositories.
The following table shows the CPU usage, GPU usage, processing time and FPS.
Board | NVIDIA Jetson Xavier NX | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Resolution | 4K | +1080p | +720p | |||||||||
Measurement | CPU usage (%) | GPU usage (%) | Processing time (ms) | FPS | CPU usage (%) | GPU usage (%) | Processing time (ms) | FPS | CPU usage (%) | GPU usage (%) | Processing time (ms) | FPS |
Power Configuration | 10 W Desktop Mode | |||||||||||
Upload | 6.34 | 36.99 | 11.46 | 87.24 | 7.25 | 19.64 | 14 | 71.4 | 4.44 | 15.72 | 7.293 | 137 |
Draw | 0.16 | 11.96 | 4.329 | 231 | 0.36 | 7.71 | 2.5 | 395 | 0.40 | 5.67 | 2.077 | 481 |
Download | 7.70 | 29.08 | 15.053 | 66.43 | 5 | 14.73 | 8.4 | 118 | 3.14 | 6.53 | 4.552 | 220 |
Power Configuration | 20 W + Jetson Clocks (Max Power) | |||||||||||
Upload | 4.25 | 6.40 | 11.357 | 88 | 1.45 | 2.21 | 2.997 | 334 | 0.77 | 1.30 | 1.492 | 670 |
Draw | 0.09 | 1.59 | 0.773 | 1294 | 0.09 | 0.82 | 0.478 | 2092 | 0.10 | 0.66 | 0.443 | 2309 |
Download | 2.73 | 6.43 | 6.489 | 154.1 | 0.94 | 2.13 | 1.947 | 514 | 0.57 | 0.84 | 1.071 | 933.7 |
Web rendering by WebkitGTK
The following table shows the CPU usage, GPU usage, processing time and FPS.
Board | NVIDIA Jetson Xavier NX | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Resolution | 4K | +1080p | +720p | |||||||||
Measurement | CPU usage (%) | GPU usage (%) | Processing time (ms) | FPS | CPU usage (%) | GPU usage (%) | Processing time (ms) | FPS | CPU usage (%) | GPU usage (%) | Processing time (ms) | FPS |
Power Configuration | 10 W Desktop Mode | |||||||||||
Draw | 9.2 | 0 | 215.425 | 4.64 | 9.2 | 0 | 52.525 | 19 | 6.77 | 0 | 23.095 | 43.3 |
Power Configuration | 20 W + Jetson Clocks (Max Power)[1] | |||||||||||
Draw | 6.1 | 0 | 281.714 | 3.55 | 6.3 | 0 | 69.137 | 14.46 | 5.6 | 0 | 28.515 | 35.1 |
- Note: When on mode 20W+Jetson Clocks the frequency of operation is 1.4 GHz and for 10w+Desktop mode the frequency of operation is 1.9 GHz. This is shown for the measurements for processing time in each mode.
- Note: There is no GPU consumption since we are using a flag that disables the use of GPU for WebkitGTK.
export WEBKIT_DISABLE_COMPOSITING_MODE=1
GStreamer plugin performance
The plugin was tested with an example overlay and a camera, using a Jetson Xavier NX with Jetpack 5.1.1. The measurements were taken with the following pipeline, using gst-perf:
gst-launch-1.0 -ve nvarguscamerasrc num-buffers=300 ! "video/x-raw(memory:NVMM),height=$H,width=$W,framerate=30/1" ! nvvidconv flip-method=2 ! queue ! htmloverlay url="http://0.0.0.0:8000/overlay.html" enable-js=true web-refresh-rate=10 ! perf ! queue ! nvvidconv ! xvimagesink
Board | Jetson Xavier NX | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Resolution | +720p | +1080p | +4k | |||||||||
FPS(10W-4core) | 166.6167 | 54.7143 | 13.4852 | |||||||||
FPS(20W-6core & jetson-clocks)[1] | 120.5662 | 56.2988 | 12.7323 |
Used overlay
The user overlay (click View Source on the wiki to see the html):