作为高级用户,我花了无数的时间调整系统,检查 DPC 延迟等等
所有这些都引出了一个问题:为什么我们仍在处理这些问题?我个人无法判断这是否是 Windows 独有的问题,还是 Linux 也存在这个问题。我只在 Windows 上注意到了这个问题,因为我大部分繁重的工作都是在 Windows 上完成的,而我对 Linux 的使用纯粹是 Web 或商业开发。
所以我坐在这里,用我的 Win10 设备运行 hyper-v,并安装了一些开发环境。我有更多的 CPU RAM 和 SSD 存储,你应该知道该怎么用它们。我刚刚放弃了 VMware 工作站,转而使用 hyper-v,所以我正在通过网络移动我所有的旧磁盘映像以进行存档。更糟糕的是,我正在听音乐,并试图在我的开发环境中工作,但弹出和点击的声音又出现了。我知道原因和方法,但我想知道
从表面上看,这是驱动程序的问题……然而,我已经看到这个问题在很多不同的环境中出现,它不能只是驱动程序的问题
是内核吗?Windows 内核是否在与 CPU 协作决定什么是重要的、什么不重要时表现不佳……或者它只是将事物排队错误……
最后,这仅仅是硬件吗?我记得在我使用 Amiga 电脑的时候,所有东西都有一个芯片。现在我们真的依赖于通用 CPU。当然,我们有 GPU 和 DSP。但当涉及到移动数据时,我们只有 DMA,这仍然需要 CPU 的关注。这种关注与系统中的其他所有东西都相矛盾。
关于什么
- 视频和音频子系统的专用信号路径和 CPU 资源
- 将存储和内存之间的数据移动卸载到具有自己的寄存器和处理资源的专用单元,软件可以最少地调用这些资源来完成任务,而让 CPU 可以自由地执行其他任务。
对于需要它的进程(音频、视频)实现某种实时优先级并平衡资源使用与延迟和多任务的挑战是什么?
--- 附加信息:这不是板载音频,这是一个通过 Fire-wire 运行的音频接口... 我不是在寻找问题的解决方案。我更多的是在问一个哲学问题... 为什么系统中需要实时优先级的数据流无法在当今的硬件平台上实现,并且实现起来是否太难了?