微调资源利用率 - Amazon Chime SDK

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

微调资源利用率

创建 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