【问题标题】:AudioWorkletNode thread priority not real-time?AudioWorkletNode线程优先级不是实时的?
【发布时间】:2022-12-01 04:47:51
【问题描述】:

我正在努力让我的AudioWorkletNode 100% 地工作而没有任何音频掉线或故障。实际上,它似乎能够在大约 2 毫秒内渲染(128 帧),这看起来相当不错。我还为 AudioContext 使用了 latencyHint: playback 选项。

这里有分析的结果:

我看到每个音频渲染调用之间有很多空间,所以我想没问题:

我正在使用基于 Chromium 96 的 Electron 16。

使用 Window 的 Process Explorer,我确定了负责音频工作的进程,它以正常优先级 (8) 运行,而不是实时优先级。当应用程序进入后台(未聚焦)时,故障可能会开始出现,偶尔会出现,但很烦人。

从我在这里读到的https://bugs.chromium.org/p/chromium/issues/detail?id=813825#c33,线程似乎应该以实时优先级运行。

谁能澄清一下?我在这里错过了什么吗?

【问题讨论】:

  • 在这里看到类似的图片。你是如何识别正确的线程的?
  • 凭经验。查看 CPU 使用率变化。比较 process 函数何时在一开始返回 true,与 process 函数在返回 true 之前进行一些计算。

标签: electron chromium web-audio-api thread-priority


【解决方案1】:

您正在查看进程优先级,而不是线程优先级。在选择了进程的进程资源管理器中,您应该能够看到它下面的线程,优先级应该是 26。

【讨论】:

    猜你喜欢
    • 2011-06-25
    • 2012-05-12
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 2010-12-12
    • 2012-11-17
    • 2016-06-03
    相关资源
    最近更新 更多