|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.06.2009, 07:43 | #1 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
Многопроцессорное приложение на делфи
Уважаемые программисты подскажите пожалуйста как создать на Borland Delphi 7, приложение использующее весь процессор компьютера, ну допустим не одно ядро, как это делают созданные программы по умолчанию. А два ядра, и более.
Надеюсь на вашу помощь. |
30.06.2009, 08:00 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если не секрет что это приложение будет делать?
Насколько я знаю система сама определят какой процессор лучше задействовать.
I'm learning to live...
|
30.06.2009, 08:14 | #3 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
Не секрет. Она делает математические вычисления, а если быть точным то умножение, имеет 2 цикла "репит" и штук 5 условий.
Ну вот на счет загрузки цп, у меня 2 компа, один однопроцессорный, частота 850 Мгц на нем запускаю, она грузит его на 100%. На втором компе процессор на 2 ядра, частота 3 Ггц. На нем запускаю она занимает ровно 50% от мощности ЦП. По диспетчеру задач смотрю. И там же графики загрузки ЦП Показывают что только одно ядро напрягается а другое вообще дурака валяет, то есть бездействует, ну не совсем, его на 2-3% операционная система загружает и всё. Сразу отвечаю на вопрос: дак ей наверно больше и не нужно вычислительных мощностей. Ответ: еще как нужно. Она работает так, чем больше вычислительная мощность компьютера, тем быстрее она обрабатывает данные операции. И еще, при запуске даже на 2-х ядерном компе она "не отвечает", ну то есть диспетчер задач видит ее так, но на самом деле она функционирует. |
30.06.2009, 08:39 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Вот пример в Delphi World: Код:
I'm learning to live...
|
|
30.06.2009, 08:48 | #5 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
Попробую этот код. Кстати, это не одно и то же с приоритетом который можно поставить в диспетчере задач?
|
30.06.2009, 08:51 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Это как раз одно и то же
I'm learning to live...
|
30.06.2009, 08:53 | #7 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Если я не ошибаюсь, нельзя сделать так что бы процессор обрабатывал только одну программу. Процессорное время (квант времени) равномерно распределяется для всех запущенных процессов. Stilet верно вам подсказал с преоритетом. И то, если поставить вашей программе наивысший приоритет, тогда другим процессам ничего не останется и компьютер зависнит.
|
30.06.2009, 09:13 | #8 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
Дак я и не хочу что бы он только одну мою программу обрабатывал, хочу перейти этот предел в 50%, то есть одно ядро.
Пробовал код который привел стайлет, ни каких результатов. Как 50% загружал процессор так и осталось. Пробовал через диспетчер задач поставить максимальный приоритет, та же фигня. Выше 50% загрузка ЦП не поднимается. Кстати. Сейчас с соответствием поэксперементировал. Это тоже в диспетчере задач. Пкм на процесс и команда "задать соответствие..." там 2 CPU. 0 и 1 включаю оба на этот процесс. Во вкладки "быстродействие" загруженно одино из 2 ядер. Ставлю быстродействие на одно ядро, оно и становится загруженно, так же и с другим. Значит они оба могут обрабатывать одно и то же. А когда вместе задействую ядра, в меню "соответствие" то на графиках в закладки "быстродействие" только одно ядро на все 100% загруженно, а другое на 1% системой. Кстати, винда хр, сервис пак 3. Это так, для общей информированности. Последний раз редактировалось Stilet; 30.06.2009 в 10:12. |
30.06.2009, 10:19 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
30.06.2009, 10:45 | #10 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
Да не может быть такого что бы нельзя было загрузку выше поднять. И я лучше знаю как ей лучше :-) должен же быть способ.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? | Mclaren | Помощь студентам | 2 | 27.04.2009 22:37 |
готовое приложение | ComeToDaddy | Помощь студентам | 17 | 03.04.2009 18:25 |
консольное приложение | user_jasser | Общие вопросы Delphi | 3 | 17.10.2008 12:17 |
Консольное приложение | a_priori | Общие вопросы Delphi | 6 | 12.03.2008 08:33 |
Пароль на приложение | Chals | Общие вопросы Delphi | 6 | 24.11.2007 21:32 |