本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 VideoFxProcessor
时,您可以提供可选 processingBudgetPerFrame
参数并控制筛选器占用 CPU 和 GPU 量。
let videoFxProcessor: VideoFxProcessor | undefined = undefined;
const processingBudgetPerFrame = 50
;
try {
videoFxProcessor = await VideoFxProcessor.create(logger, videoFxConfig, processingBudgetPerFrame);
} catch (error) {
logger.warn(error.toString());
}
VideoFxProcessor
需要时间处理帧。时间长短取决于设备、浏览器以及浏览器或设备上正在运行的其他程序。处理器使用预算的概念确定处理和渲染每帧所用的时间。
处理时间以毫秒为单位。举个如何使用预算的示例,1 秒有 1000 毫秒。将每秒 15 帧的视频捕获作为目标,总预算为 1000 毫秒/15fps = 66 毫秒。通过在 processingBudgetPerFrame
参数中提供值 50
,您可以将预算设置为其中的 50% 或 33ms,如上例所示。
然后 VideoFxProcessor
尝试在指定的预算范围内处理帧。如果处理超出预算,处理器会降低视觉质量使其保持在预算范围内。处理器继续将视觉质量降低到最低限度后,它会停止降低。这种处理持续时间是持续测量的,因此,如果有更多资源可用,例如关闭另一个应用程序并释放 CPU,处理器会再次提高视觉质量,直到达到预算或者达到最高的视觉质量。
如果您未向 processingBudgetPerFrame
提供值,则 VideoFxProcessor
默认为 50
。