当我们在Windows上构建软实时应用程序时,我们应该有哪些考虑因素(软件和硬件):每XXX毫秒发生一次并且应该在YYY毫秒内完成的任务。(尽管错过最后期限的后果是坏的,但是应用程序仍然可以从错过的最后期限中恢复-因此是“软”实时)。
我已经想到了几个问题:是否有注册表设置需要更改,查看?使用外部显卡比使用板载显卡更好吗?
预期答案示例:如果您使用TCP,则应阅读(并禁用)Nagle Algorithm,因为它会延迟数据包发送。
(This可以在社区wiki中提交)
当我们在Windows上构建软实时应用程序时,我们应该有哪些考虑因素(软件和硬件):每XXX毫秒发生一次并且应该在YYY毫秒内完成的任务。(尽管错过最后期限的后果是坏的,但是应用程序仍然可以从错过的最后期限中恢复-因此是“软”实时)。
我已经想到了几个问题:是否有注册表设置需要更改,查看?使用外部显卡比使用板载显卡更好吗?
预期答案示例:如果您使用TCP,则应阅读(并禁用)Nagle Algorithm,因为它会延迟数据包发送。
(This可以在社区wiki中提交)
2条答案
按热度按时间waxmsbnn1#
考虑使用Multimedia Class Scheduler Service
从doc
Multimedia Class Scheduler服务(MMCSS)使多媒体应用程序能够确保其时间敏感的处理获得对CPU资源的优先访问。此服务使多媒体应用程序能够利用尽可能多的CPU,而不会拒绝低优先级应用程序的CPU资源
另一个选择是调整你的thread priorities,但你需要非常小心,不要太激进。
eivnm1vs2#
硬件方面,这是否会在服务器级设备上运行?如果是,则应用常规步骤。禁用超线程、加速和CPU C状态。在关键进程上实现某种级别的CPU关联。