从c ++应用程序执行的外部程序的CPU负载有限

时间:2012-05-13 18:21:42

标签: c++ visual-c++ shellexecute

我用Visual C ++编写的应用程序使用system函数调用执行外部程序。 系统命令是stereoscopic player实例的调用,其中某些立体3D视频文件和全屏模式作为参数传递。

问题是从C ++应用程序调用的立体播放器播放视频的速度非常慢。从Windows cmd执行相同的命令不会导致此类行为。

当我运行内置Windows CPU负载分析器时,我得到以下结果(如果需要,我可以附加屏幕截图):

  • 从cmd执行的立体播放器实例同时加载所有可用内核,每个占用40-50%(我尝试在不同的机器上使用2个和4个内核)。
  • 从C ++应用程序执行的立体播放器实例将第一个核心加载90-100%并且不加载其他核心。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

尝试将SetProcessAffinityMask用于您正在产生的过程