首页 > 解决方案 > C# 的垃圾收集会导致实时音频应用程序出现问题吗?

问题描述

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

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

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

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

标签: c#c++audioreal-timemidi

解决方案


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


推荐阅读