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

C 如何知道x264是否使用多处理器Windows,c,windows,cpu,x264,C,Windows,Cpu,X264,我有一个Linphone开源应用程序,它使用x264编码器。默认情况下,它在一个线程上运行: 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_

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

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个处理器上运行

因为从
taskmanager->Performance->CPU使用历史记录中无法清除

我使用Windows7


谢谢,

在windows任务管理器中,请确保选择“查看->CPU历史记录->每个CPU一个图形”
。如果看起来并非所有处理器内核都在全速运行,则可能是某些资源耗尽了编码线程,并且存在将数据送入编码器的瓶颈。

有三个容易看到的迹象表明编码利用了多个内核:

  • 编码速度更快
  • 每核CPU负载表示多个核/处理器上的同时负载
  • 应用程序的每线程CPU负载显示多个线程上的相关负载
  • 此外,您还可以使用处理器关联掩码(以编程方式并通过任务管理器)将应用程序限制为单个CPU。如果x264使用多个处理器,设置掩码将严重影响应用程序性能