Performance and CPU Load
Last updated
Was this helpful?
Last updated
Was this helpful?
The following tables show Figment's output FPS and CPU load (in percent) in different settings. Each setting is evaluated across different input frequencies (left column). We define the frequency as the interval (in milliseconds) between frames entering the machine learning model. To make the input FPS explicit we specify each frequency as 1000/FPS
. With the next release (currently in beta) we will add the option set_input_frequency
to the setOption
function allowing you to control the input frequency.
CPU load when rendering a MediaStream while Figment is deactivated: 3-5 %
Performance Mode
Quality Mode
1000/5
5 FPS / 4-9 %
5 FPS / 7-9 %
1000/10
9 FPS / 8-10 %
9 FPS / 12-14 %
1000/20
18 FPS / 13-15 %
16 FPS / 19-21 %
1000/30
25 FPS / 18-21 %
22 FPS / 25-28 %
1000/40 *
31 FPS / 22-25 %
27 FPS / 31-32 %
1000/50
35 FPS / 26-28 %
32 FPS / 35-37 %
1000/75
49 FPS / 32-35 %
41 FPS / 42-44 %
1000/100
58 FPS / 35-37 %
46 FPS / 48-51%
CPU load of WebRTC peer connection (15 FPS, 480p) while Figment is deactivated: 16-18 %. Our implementation is based on WebRTC sample.
Performance Mode
Quality Mode
1000/5
5 FPS / 11-14 % **
5 FPS / 14-16 % **
1000/10
9 FPS / 21-23 %
9 FPS / 24-26 %
1000/20
17 FPS / 30-32 %
16 FPS / 36-39 %
1000/30
24 FPS / 40-43 %
21 FPS / 46-49 %
1000/40 *
30 FPS / 44-47 %
27 FPS / 54-57 %
1000/50
34 FPS / 48-50 %
30 FPS / 59-61 %
1000/75
49 FPS / 55-57 %
40 FPS / 64-68 %
1000/100
57 FPS / 59-61 %
46 FPS / 74-76 %
*Current default setting.
** Setting Figment's input frequency to a lower FPS than the WebRTC baseline positively impacts WebRTC's CPU load. This explains the lower CPU load than with the WebRTC baseline.