-
Notifications
You must be signed in to change notification settings - Fork 4
๐น WebRTC ํ์ํ์์์ ์นด๋ฉ๋ผ ์ํ์ ๋ฐ๋ฅธ ์์คํ ์์ ์ฌ์ฉ๋ ๋ถ์
๊น๊ทผ์ฐ edited this page Dec 1, 2024
·
1 revision
- Apple M1 (4E + 4P + 7CPU 8GB)
- ๋งฅ๋ถ ๋ด์ฅ FaceTime ์นด๋ฉ๋ผ ์ฌ์ฉ
- WebRTC๋ก ์ฐ๊ฒฐ๋๋ ํผ์ด(๊ฐ์ ๊ณต์ ๊ธฐ ํ๊ฒฝ, ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ์ ์)๊ฐ 1๋ช ์๋ ๊ฒฝ์ฐ
-
macmon์ ์ฌ์ฉํ์ฌ ๊ฐ ์กฐ๊ฑด ๋ณ๋ก ์ฝ 20๋ถ ๋์ 1์ด ๊ฐ๊ฒฉ์ผ๋ก ์ธก์
- Baseline: ๊ณต๋ถ๋ฐฉ ๋ฆฌ์คํธ ํ์ด์ง ์ ์, WebRTC Off
- Mic On + Camera Off
- Mic On + Camera On (Not Recording)
- Mic On + Camera On (Recording)
- ํ๊ท ๊ฐ์ ์ธก์ ์์ 10๋ถ ์ดํ ๊ฐ๋ง์ผ๋ก ๊ณ์ฐ
- ๋๋จธ์ง ์กฐ๊ฑด์ ์ต๋ํ ๋์ผํ๋๋ก(๋ฐ๊ธฐ 0์ผ๋ก ์ ์ง ๋ฑ)

| ์ํ | ์๋น ์ ๋ ฅ |
|---|---|
| 1. WebRTC Off (Baseline) | 2.31W ยฑ 0.35W |
| 2. Mic On + Camera Off | 3.30W ยฑ 0.27W |
| 3. Mic On + Camera On (Not Recording) | 5.52W ยฑ 0.26W |
| 4. Mic On + Camera On (Recording) | 5.62W ยฑ 0.19W |
1๊ณผ 2๋ฅผ ๋น๊ตํ๋ฉด ๋ง์ดํฌ๊ฐ ์ผ์ง๋ฉด ๋๋ต 1W ์ถ๊ฐ๋ก ์๋ชจํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
2์ 3, 4๋ฅผ ๋น๊ตํ๋ฉด ์นด๋ฉ๋ผ๊ฐ ์ผ์ง๋ฉด ๋๋ต 2W ์ถ๊ฐ๋ก ์๋ชจํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์นด๋ฉ๋ผ๋ฅผ ๋นํ์ฑ ์ํค๋ฉด 0.1W ๋ ์ฌ์ฉํ๊ณ ์์ง๋ง ๊ฑฐ์ ์ฐจ์ด๊ฐ ์๋ค.

| ์ํ | CPU ์จ๋ |
|---|---|
| 1. WebRTC Off (Baseline) | 34.61ยฐC ยฑ 0.61ยฐC |
| 2. Mic On + Camera Off | 35.57ยฐC ยฑ 0.58ยฐC |
| 3. Mic On + Camera On (Not Recording) | 46.67ยฐC ยฑ 0.65ยฐC |
| 4. Mic On + Camera On (Recording) | 46.61ยฐC ยฑ 0.57ยฐC |
1๊ณผ 2๋ฅผ ๋น๊ตํ๋ฉด ๋ง์ดํฌ๊ฐ ์ผ์ง๋ฉด ๋๋ต 1๋ ์ฆ๊ฐํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
2์ 3, 4๋ฅผ ๋น๊ตํ๋ฉด ์นด๋ฉ๋ผ๊ฐ ์ผ์ง๋ฉด ๋๋ต 11๋ ์ฆ๊ฐํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. โ ์๊ฐ๋ณด๋ค ์จ๋ ์ฆ๊ฐํญ์ด ํฌ๋ค.
์นด๋ฉ๋ผ ๋นํ์ฑ ์ฌ๋ถ๋ ์์ ์ฐจ์ด๊ฐ ์๋ ์์ค์ด๋ค.

| ์ํ | GPU ์จ๋ |
|---|---|
| 1. WebRTC Off (Baseline) | 35.03ยฐC ยฑ 0.31ยฐC |
| 2. Mic On + Camera Off | 35.63ยฐC ยฑ 0.25ยฐC |
| 3. Mic On + Camera On (Not Recording) | 45.49ยฐC ยฑ 0.23ยฐC |
| 4. Mic On + Camera On (Recording) | 45.18ยฐC ยฑ 0.31ยฐC |
CPU์ ๊ฒฝ์ฐ์ ๊ฑฐ์ ๋น์ทํ ์์์ ๋ณด์ธ๋ค.
CPU/GPU ์๋น ์ ๋ ฅ

| ์ํ | CPU ์๋น ์ ๋ ฅ |
|---|---|
| WebRTC Off (Baseline) | 0.03W ยฑ 0.05W |
| Mic On + Camera Off | 0.07W ยฑ 0.07W |
| Mic On + Camera On (Not Recording) | 0.55W ยฑ 0.14W |
| Mic On + Camera On (Recording) | 0.60W ยฑ 0.09W |

| ์ํ | GPU ์๋น ์ ๋ ฅ |
|---|---|
| WebRTC Off (Baseline) | 0.04W ยฑ 0.01W |
| Mic On + Camera Off | 0.04W ยฑ 0.01W |
| Mic On + Camera On (Not Recording) | 0.14W ยฑ 0.01W |
| Mic On + Camera On (Recording) | 0.14W ยฑ 0.01W |
CPU/GPU ์ ์ ์จ ์ธก์

| ์ํ | E-CPU ์ ์ ์จ |
|---|---|
| WebRTC Off (Baseline) | 0.025% ยฑ 0.021% |
| Mic On + Camera Off | 0.074% ยฑ 0.031% |
| Mic On + Camera On (Not Recording) | 0.094% ยฑ 0.036% |
| Mic On + Camera On (Recording) | 0.088% ยฑ 0.026% |

| ์ํ | P-CPU ์ ์ ์จ |
|---|---|
| WebRTC Off (Baseline) | 0.002% ยฑ 0.006% |
| Mic On + Camera Off | 0.002% ยฑ 0.007% |
| Mic On + Camera On (Not Recording) | 0.069% ยฑ 0.013% |
| Mic On + Camera On (Recording) | 0.074% ยฑ 0.010% |

| ์ํ | GPU ์ ์ ์จ |
|---|---|
| WebRTC Off (Baseline) | 0.013% ยฑ 0.007% |
| Mic On + Camera Off | 0.013% ยฑ 0.007% |
| Mic On + Camera On (Not Recording) | 0.118% ยฑ 0.008% |
| Mic On + Camera On (Recording) | 0.117% ยฑ 0.007% |
- ๐ง ํ ๋น๋ฉ ๋ฐ ๋ธ๋์น ์ ๋ต
- ๐ง ์ฃผ์ ์ ์ ๋ฐ ํ ํ๋ฆฟ ์์ฑ
- ๐ป ํ๋ก์ ํธ ์ด๋ฆ ๋ฐ ๋ก๊ณ ์ ํ๊ธฐ
- ๐ป ๊ธฐํ ์ธ๋ถ์ฌํญ ์ ํ๊ธฐ
- ๐ป ๊ธฐ์ ์คํ ์์
- ๐ป ๋ฐฑ๋ก๊ทธ ์ด์ ์์ฑ
- ๐ป ๊นํ๋ธ ์ํค
- ๐ ๊ธฐํ ๋ฐ MVP ์ ์ง ํ์
- 2๏ธโฃ ์คํ๋ฆฐํธ 2 ์ฃผ๊ฐ ๊ณํ
- ๐งญ ๊ณตํต ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ
- ๐ฆบ ์ด๋ฒคํธ ํ๋ฆ๋
- ๐ฅ ๋ฐฑ์๋ ์๊ทธ๋๋ง ์๋ฒ ๋ฌธ์
- ๐ฝ ์คํ๋ฆฐํธ 5โ 6 ๋ฐฉํฅ์ฑ
- ๐ ์ต์ข ๋ฐํ ์ค๋น
- ๐ฟ Github Actions CD(์๋๋ฐฐํฌ)
- ๐ API
- โซ forEach๋ async๋ฅผ ๊ธฐ๋ค๋ ค์ฃผ์ง ์๋๋ค
- ๐งช WebRTC SFU ๋ฐ๋ชจ
- ๐ TURN ์๋ฒ ์ธ์ฆ ๋ฐฉ์
- ๐ ๏ธ [ํธ๋ฌ๋ธ์ํ ] /socket.io ๊ฒฝ๋ก๋ก ์ง์์ ์ผ๋ก HTTP ์์ฒญ์ ๋ณด๋ด๋ ๋ฌธ์
- ๐น WebRTC ํ์ํ์์์ ์นด๋ฉ๋ผ ์ํ์ ๋ฐ๋ฅธ ์์คํ ์์ ์ฌ์ฉ๋ ๋ถ์
- ๐ฅ ๋์นญ NAT์์์ WebRTC ์ฐ๊ฒฐ ์๋ฆฝ ๊ณผ์
- ๐ ํ ์คํธ ์ฝ๋์ ๋ชจํน