Preview push 30fps : thread de fond + diffusion WS sans polling
Avant : frontend poll WS toutes les 100ms -> gphoto2 bloquant -> lag
Apres : thread dedie capture en continu a 30fps, pusher asyncio
diffuse a 20fps a tous les clients, frontend dit juste
preview_start / preview_stop
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
/* Module capture photo - Preview live, compte a rebours, declenchement */
|
||||
|
||||
let previewActif = false;
|
||||
let previewInterval = null;
|
||||
let previewTimeoutId = null;
|
||||
const PREVIEW_TIMEOUT_MS = 3000;
|
||||
|
||||
@@ -45,16 +44,14 @@ function lancerPreview() {
|
||||
if (previewActif) return;
|
||||
previewActif = true;
|
||||
afficherErreurPreview(false);
|
||||
|
||||
previewInterval = setInterval(() => {
|
||||
if (previewActif) wsEnvoyer({ type: 'preview' });
|
||||
}, 100);
|
||||
|
||||
wsEnvoyer({ type: 'preview_start' });
|
||||
resetPreviewTimeout();
|
||||
}
|
||||
|
||||
function arreterPreview() {
|
||||
if (!previewActif) return;
|
||||
previewActif = false;
|
||||
wsEnvoyer({ type: 'preview_stop' });
|
||||
if (previewInterval) {
|
||||
clearInterval(previewInterval);
|
||||
previewInterval = null;
|
||||
|
||||
Reference in New Issue
Block a user