|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
задать процессу соответствие с CPU как в диспетчере задач
Всем доброго времени!
Собственно идея: На форму кинуть TCheckListBox там в зависимости от кол-во ядер ЦП в системе создавать нужное кол-во элементов. Как при запуске процесса через CreateProcess передать омеченные в CheckListBox CPU, процессу(Через SetProcessAffinity)? Мне нужно реализовать вот это, у себя в программе: Последний раз редактировалось Человек_Борща, 29.06.2011 в 20:20. |
#2
|
|||
|
|||
Поможет кто?
|
#3
|
||||
|
||||
Используй функции GetProcessAffinityMask (для определения сколько процессоров отдано приложению и системе) и SetProcessAffinityMask(чтобы установить сколько процессоров(ядер) отдать приложению)
Да вот, что еще. Если у тебя один поток, то конечно - лучше привязать один поток к одному ядру. Если у тебя два и более потоков, то лучше отдать все дело на контроль ОС и не заморачиваться с этим. Не всегда выдача 2 ядер для работы одного потока приведет к повышению производительности. Скорее наоборот - будет постоянное переключение между ядрами. А если еще и кэш общий... Ну вы сами понимаете Хорошо написанная программа не требует документации ICQ 9-184-668. Последний раз редактировалось Thrasher, 30.06.2011 в 10:18. |