c# - C# 的垃圾收集会导致实时音频应用程序出现问题吗?

标签 c# c++ audio real-time midi

这个问题在这里已经有了答案:





using C# for real time applications

(5 个回答)


2年前关闭。




我目前正在用 C++ 编写一个实时音频应用程序,它接收深度传感器输入并将其转换为 MIDI 信号。它必须对 3D 空间进行建模,并实时响应由深度传感器监控的 3D 空间中物体的运动。

我想用 C# 重新编写这个应用程序,因为我发现 C++ 笨重且开发起来很慢,而我发现 C# 编写起来很有趣。我担心垃圾收集器会导致随机减速,从而导致 Not Acceptable 延迟。该应用程序的整体性能可能会受到 20% 的影响,但它需要保持一致。它不能一次加速到 200% 的减速,然后在其余时间减速 10% 以平均到 20%,它需要保持稳定。

在任何时候增加 50 毫秒的延迟就足以让它听起来了。

在 C# 中执行此操作是否可行?

最佳答案

编写代码很容易,但在汇编程序中也会很慢
请在您认为它变慢的地方展示一些和平的代码,否则我不知道如何回答这个问题。
有的回答。是的 garbig 收集可以减慢你的程序,但你可以控制它。

关于c# - C# 的垃圾收集会导致实时音频应用程序出现问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58738428/

相关文章:

python-3.x - Python读取声音文件,ogg还是wav?

audio - 如何从声音文件中提取包络?

c# - 设置 SortedDictionary 的第 i 个值

c# - 用于 WaitHandle.WaitOne 方法的 exitContext 是什么

c++ - 命名结构与未命名结构的类型别名

audio - 如何使 ffmpeg 的视频和音频持续时间相同?

c# - 类型 'System.Object' 在未引用的程序集中定义。您必须添加对 assembly 'netstandard, Version=2.0.0.0 的引用

c# - 对象中的值类型也存储在堆中吗?

c++ - 如何区分多边形的入站和出站边缘?

c++ - 类模板的注入(inject)类名