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

标签 c++ visual-c++ shellexecute

我用 Visual C++ 编写的应用程序通过 system 函数调用执行外部程序。 系统命令是对 stereoscopic player 的调用具有作为参数传递的特定立体 3D 视频文件和全屏模式的实例。

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

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

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

我该如何解决这个问题?

最佳答案

尝试对您生成的进程使用 SetProcessAffinityMask

关于c++ - 从 C++ 应用程序执行的外部程序中的 CPU 负载有限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574115/

相关文章:

java - 如何使从 Java Runtime.exec(command) 打开的程序始终在最前面

Delphi 7 - ShellExecute 命令在某些情况下不起作用

winapi - 能否检测到 .exe 是如何启动的?

c++ - STL priority_queue 的自定义分配器

c++ - ProcessExit - DLL 卸载和静态的顺序

c++ - vtk 类型的数组拒绝在 C++ 中保存内容

c++ - 用于标记未初始化变量的 VS 2008 编译器选项

c++ - 欧拉计划 #3 (C++)

C++ 将指针(指向一个对象)传递给另一个类中的函数

c++ - 如何将 C++ 字典写入 Lua 表?