2009-11-11 2 views
1

Я пишу немного raytracer, и я бы хотел спросить, сколько ядер процессора (или виртуальных процессоров процессора, если процессор использует гиперпоточность), который предлагает текущий компьютер, так что я могу установить как можно больше потоки для улучшения параллельного рендеринга.получить количество процессоров в C++ MFC-приложении

Как это сделать с помощью C++?

спасибо!

+4

Я не уверен, но выглядит как дубликат http://stackoverflow.com/questions/150355/programmatically-find-the-number-of-cores-on-a-machine – Naveen

+1

На самом деле ничего нет с МФЦ. –

ответ

8

Вы можете получить количество физических процессоров, позвонив по номеру GetSystemInfo и проверив поле dwNumberOfProcessors структуры SYSTEM_INFO. Вы можете получить количество логических процессоров, позвонив по номеру GetLogicalProcessorInformation.

+0

BTW: GetLogicalProcessorИнформация не работает на XP до SP3 – naugtur

2

Функция API Win32 GetSystemInfo вернет структуру SYSTEM_INFO с необходимой информацией. В частности, проверьте переменную-член dwNumberOfProcessors.

Смежные вопросы