Performance and CPU Load
Last updated
Last updated
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 %
CPU load of WebRTC peer connection (15 FPS, 480p) while Figment is deactivated: 16-18 %. Our implementation is based on this WebRTC sample.
*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.
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%
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 %