2013-12-03 1 views
0

У меня есть приложение с открытым исходным кодом Linphone, которое использует кодировщик x264. По умолчанию он работает в одном потоке:Как узнать, использует ли x264 несколько процессоров Windows

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 процессоры?

Потому что от Task Manager -> Performance -> CPU usage history не понятны.

Я использую окна 7

Спасибо,

ответ

1

Есть три легко видеть признаки того, что кодирование использует несколько ядер:

  1. Кодирование работает быстрее
  2. Per нагрузки ядра процессора указывает на одновременную нагрузку на несколько ядер/процессоров
  3. на поток загрузки центрального процессора вашего приложение показывает соответствующую нагрузку на несколько потоков

Кроме того, вы можете использовать маску маску процессора (программно и через диспетчер задач), чтобы ограничить приложение для одного процессора. Если x264 использует несколько процессоров, установка маски серьезно повлияет на производительность приложения.

1

В диспетчере задач Windows, не забудьте выбрать View -> CPU History -> One Graph Per CPU. Если он по-прежнему не выглядит так, как все ядра процессора работают на полной скорости, то, возможно, какой-то ресурс голодает потоками кодирования, и в кодировщик подаются данные о подаче узких мест.