我有使用 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
谢谢,
最佳答案
编码利用多核的三个明显迹象:
- 编码运行速度更快
- 每核心 CPU 负载表示多个核心/处理器上的同时负载
- 应用程序的每个线程 CPU 负载显示多个线程的相关负载
此外,您可以使用处理器关联掩码(以编程方式和通过任务管理器)将应用程序限制为单个 CPU。如果 x264 使用多处理器,设置掩码会严重影响应用程序性能。
关于c - 如何知道 x264 是否使用多处理器 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20359777/