Repository navigation
Vcall 3.17.3
Vcall 3.17.3: vídeo e jogo compartilhados passam de 50 quadros por segundo, e o som da tela chega junto com a imagem.
Mais de 50 quadros no vídeo compartilhado
Um vídeo a 60 quadros por segundo compartilhado pelo aplicativo de mesa travava em ~45. O motivo era uma regra do Chromium: a captura de tela só pode ocupar metade do tempo de um núcleo do processador. O Vcall pedia a imagem já reduzida (para 720p ou 1080p), e reduzir dentro da captura custava ~6 ms por quadro. Cada quadro levava ~11 ms, e a próxima captura só vinha 22 ms depois.
Agora, na Fluidez, a janela é capturada no tamanho dela (até 1440p) e quem reduz a imagem é o codificador, em outro núcleo. Cada captura caiu para 6 a 9 ms.
Medido no notebook de teste, com o vídeo codificado pelo processador e quem assiste na mesma máquina:
| O que foi compartilhado | Antes | 3.17.3 |
|---|---|---|
| Gameplay do YouTube a 1080p60, em tela cheia, com o Vcall atrás | 43 a 45 qps | 53 a 57 qps |
| Animação a 60 qps, com o Vcall minimizado | 41 a 46 qps | 52 a 55 qps |
| Animação a 60 qps, com o navegador em tela cheia | 42 a 47 qps | 52 a 56 qps |
Pela internet (rede simulada com 3, 6 e 10 Mbps de envio e 1% a 2% de perda), a tela chegou a 59 quadros por segundo nas três. Com pouca banda, a imagem diminui para caber e os quadros continuam.
O som da tela junto com a imagem
O som do computador e a imagem da tela iam como duas transmissões soltas, e quem assistia tocava cada uma no seu ritmo. Agora vão juntas, e quem recebe segura a imagem para casar com o som.
Medido com uma tela que pisca e apita no mesmo instante, a diferença entre o som e a imagem para quem assiste caiu de ~95 ms para ~70 ms. O que sobra é o tempo que o Windows leva para entregar o som do computador ao Vcall.
Linux
A captura de tela não pede mais de 60 quadros por segundo no Linux. O PipeWire não entrega mais que isso, e no X11 pedir 120 só capturava e mandava quadros repetidos.
O Vcall abre mesmo com a porta ocupada
Se outro programa, ou outra cópia do Vcall, já usava a porta 7718, o aplicativo mostrava "A JavaScript error occurred in the main process" e ficava sem janela. Agora ele usa a porta seguinte, como já deveria.
