c - 如何知道 x264 是否使用多处理器 Windows

标签 c windows cpu x264

我有使用 x264 编码器的 Linphone 开源应用程序。默认情况下,它在一个线程上运行:

x264_param_t *params= ..... 
params->i_threads=1;

我添加了使用所有处理器的能力:

long num_cpu=1;
SYSTEM_INFO sysinfo;
GetSystemInfo( &sysinfo );
num_cpu = sysinfo.dwNumberOfProcessors;
params->i_threads=num_cpu;  

问题是我怎么知道在视频流中 x264 运行在(在我的情况下)4 个处理器上?

因为任务管理器 -> 性能 -> CPU 使用历史记录 没有清除。

我用的是windows 7

谢谢,

最佳答案

编码利用多核的三个明显迹象:

  1. 编码运行速度更快
  2. 每核心 CPU 负载表示多个核心/处理器上的同时负载
  3. 应用程序的每个线程 CPU 负载显示多个线程的相关负载

此外,您可以使用处理器关联掩码(以编程方式和通过任务管理器)将应用程序限制为单个 CPU。如果 x264 使用多处理器,设置掩码会严重影响应用程序性能。

关于c - 如何知道 x264 是否使用多处理器 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20359777/

相关文章:

c - Libapr .so 文件不具备源代码的功能

c++ - 如何查找目标文件 *.o 的 ram rom 使用情况(.bss .text .rodata .data)?

windows - 如何使用 VBScript 指定远程桌面连接的地址?

ios - Xcode 5 调试 - CPU 报告/使用情况中的 "Unnamed"线程

c - C 中的 union 体大小

c - 在 C 中将所有数字从字符串导入到数组

c - 如何使用函数修改数组值?

windows - 如何在 Vista 中从网络共享运行批处理文件而不出现警告对话框?

x86 - 如何判断CPU是否支持ECC?

linux - Bash - 脚本长时间运行时 CPU 使用率从 3% 升至 100%