Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Ottimizzazione dell'utilizzo delle risorse
Durante la creazione diVideoFxProcessor
, puoi fornire il processingBudgetPerFrame
parametro opzionale e controllare la quantità di CPU e GPU che i filtri utilizzano.
let videoFxProcessor: VideoFxProcessor | undefined = undefined; const processingBudgetPerFrame =
50
; try { videoFxProcessor = await VideoFxProcessor.create(logger, videoFxConfig, processingBudgetPerFrame); } catch (error) { logger.warn(error.toString()); }
L'elaborazione di un frame VideoFxProcessor
richiede tempo. La quantità di tempo dipende dal dispositivo, dal browser e da cos'altro è in esecuzione nel browser o sul dispositivo. Il processore utilizza il concetto di budget per determinare la quantità di tempo impiegata per elaborare e renderizzare ciascun fotogramma.
Il tempo di elaborazione è in millisecondi. Come esempio di utilizzo di un budget, 1 secondo equivale a 1000 ms. L'acquisizione video a 15 fotogrammi al secondo comporta un budget totale di 1000 ms/15 fps = 66 ms. È possibile impostare un budget pari al 50% di tale importo, ovvero 33 ms, fornendo il valore del parametro, come illustrato 50
nell'processingBudgetPerFrame
esempio precedente.
VideoFxProcessor
Quindi tenta di elaborare i frame entro il budget specificato. Se l'elaborazione supera il budget, il processore riduce la qualità visiva per rispettare il budget. Il processore continua a ridurre al minimo la qualità visiva, dopodiché smette di ridurla. Questa durata di elaborazione viene misurata continuamente, quindi se diventano disponibili più risorse, ad esempio se un'altra app si chiude e viene liberataCPU, il processore aumenta nuovamente la qualità visiva fino a raggiungere il budget o a raggiungere la massima qualità visiva.
Se non fornisci un valore aprocessingBudgetPerFrame
, il valore predefinito èVideoFxProcessor
. 50