[ÏÐÎÁËÅÌÀ] Heroes3 íà äâóõÿäåðíîì ïðîöåññîðå - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Îáùèé - Ãåðîè Ìå÷à è Ìàãèè 3 - Heroes OF Might And Magic 3 Èíôîðìàöèÿ îá èãðå è åå îáñóæäåíèÿ.

Îòâåò
Ñòðàíèöà 1 èç 2
 
Îïöèè òåìû
#1
Ñòàðûé 02.09.2007, 11:31
  #1
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
[ÏÐÎÁËÅÌÀ] Heroes3 íà äâóõÿäåðíîì ïðîöåññîðå

Играю в HOMM 3 Arm. Blade, процессор пыхтит на 100%, вентилятор на ноутбуке работает постоянно, если работать от аккумулятора - хватает минут на 40 :-(

Есть какие-нибудь патчи для Героев, чтобы исправить данную ситуацию, или надо самим писать?
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2
Ñòàðûé 02.09.2007, 11:53
  #2
^
Inquisitor
 
Àâàòàð äëÿ Inquisitor
📖
Ðåãèñòðàöèÿ: 30.07.2006
Àäðåñ: Ìîñêâà, Ðîññèÿ
Ñîîáùåíèÿ: 872
Îòïðàâèòü ñîîáùåíèå äëÿ  Inquisitor ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 30.07.2006
Àäðåñ: Ìîñêâà, Ðîññèÿ
Ñîîáùåíèÿ: 872
Îòïðàâèòü ñîîáùåíèå äëÿ  Inquisitor ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Вопросы: Какая система ноутбука?
__________________
Alliance of Lightëèäåð êëàíà (ñïèñîê êëàíîâ íà HW)



ÔËÓÄÎÂÑÊÈÅ ÑÑÛËÊÈ! — ñîîáùèòü î áåñïîëåçíîé òåìå/ñîîáùåíèè.
Alliance of Lightëèäåð êëàíà (ñïèñîê êëàíîâ íà HW)



ÔËÓÄÎÂÑÊÈÅ ÑÑÛËÊÈ! — ñîîáùèòü î áåñïîëåçíîé òåìå/ñîîáùåíèè.
Inquisitor âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3
Ñòàðûé 03.09.2007, 07:57
  #3
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

IBM (Lenovo), процессор Celeron-M, где-то 1500 MHz
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#4
Ñòàðûé 03.09.2007, 13:11
  #4
^
Ìîíöà
📖
Ðåãèñòðàöèÿ: 16.05.2007
Àäðåñ: Êðàñíîäàð
Ñîîáùåíèÿ: 255
Îòïðàâèòü ñîîáùåíèå äëÿ  Ìîíöà ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 16.05.2007
Àäðåñ: Êðàñíîäàð
Ñîîáùåíèÿ: 255
Îòïðàâèòü ñîîáùåíèå äëÿ  Ìîíöà ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

не в героях дело. Может на шерстяном одеяле играешь? или еще чем вентиляторы закрыл? Возможно просто перегрев
Ìîíöà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#5
Ñòàðûé 04.09.2007, 22:19
  #5
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Монца;110538не в героях дело. Может на шерстяном одеяле играешь? или еще чем вентиляторы закрыл? Возможно просто перегрев

В-основном меня волнует 100%-я загрузка процессора, всё остальное - следствие того, что процессор загружен на 100%.
Причём данная загрузка проявляется не только на ноутбуке, но и на стационарных компьютерах.
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#6
Ñòàðûé 04.09.2007, 22:20
  #6
^
Inquisitor
 
Àâàòàð äëÿ Inquisitor
📖
Ðåãèñòðàöèÿ: 30.07.2006
Àäðåñ: Ìîñêâà, Ðîññèÿ
Ñîîáùåíèÿ: 872
Îòïðàâèòü ñîîáùåíèå äëÿ  Inquisitor ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 30.07.2006
Àäðåñ: Ìîñêâà, Ðîññèÿ
Ñîîáùåíèÿ: 872
Îòïðàâèòü ñîîáùåíèå äëÿ  Inquisitor ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Т.е. игра установленная с этого диска загружает процессоры на 100% ?
__________________
Alliance of Lightëèäåð êëàíà (ñïèñîê êëàíîâ íà HW)



ÔËÓÄÎÂÑÊÈÅ ÑÑÛËÊÈ! — ñîîáùèòü î áåñïîëåçíîé òåìå/ñîîáùåíèè.
Alliance of Lightëèäåð êëàíà (ñïèñîê êëàíîâ íà HW)



ÔËÓÄÎÂÑÊÈÅ ÑÑÛËÊÈ! — ñîîáùèòü î áåñïîëåçíîé òåìå/ñîîáùåíèè.
Inquisitor âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#7
Ñòàðûé 05.09.2007, 01:04
  #7
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Inquisitor;110796Т.е. игра установленная с этого диска загружает процессоры на 100% ?
Один процессор (одно ядро) загружает на 100%. Только диск, куплен очень давно. Может, я отстал от жизни, и есть какие-то патчи... :-)
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#8
Ñòàðûé 05.09.2007, 08:13
  #8
^
Inquisitor
 
Àâàòàð äëÿ Inquisitor
📖
Ðåãèñòðàöèÿ: 30.07.2006
Àäðåñ: Ìîñêâà, Ðîññèÿ
Ñîîáùåíèÿ: 872
Îòïðàâèòü ñîîáùåíèå äëÿ  Inquisitor ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 30.07.2006
Àäðåñ: Ìîñêâà, Ðîññèÿ
Ñîîáùåíèÿ: 872
Îòïðàâèòü ñîîáùåíèå äëÿ  Inquisitor ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Такой случай произошел первый раз со времен p166 Никаких патчей такого рода нет и быть не может. Один совет. Попробуйте купить новый диск героев III "Клинок Армагеддона"
__________________
Alliance of Lightëèäåð êëàíà (ñïèñîê êëàíîâ íà HW)



ÔËÓÄÎÂÑÊÈÅ ÑÑÛËÊÈ! — ñîîáùèòü î áåñïîëåçíîé òåìå/ñîîáùåíèè.
Alliance of Lightëèäåð êëàíà (ñïèñîê êëàíîâ íà HW)



ÔËÓÄÎÂÑÊÈÅ ÑÑÛËÊÈ! — ñîîáùèòü î áåñïîëåçíîé òåìå/ñîîáùåíèè.
Inquisitor âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#9
Ñòàðûé 09.09.2007, 15:35
  #9
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Ещё особенность моей версии - для артефактов не 5, а 4 слота. Вернее, их 5, но один невидимый. Скажем, 4 занято, берём какую-нибудь сферу запрезения, и всё, она в 5-м, снять нельзя :-)

Кстати, проблему с загрузкой решил, правда через одно место. Если на каждые 5-10 вызовов функции IsIconic вызывать один раз sleep(1), то загрузка профессора падает до 1-3%. В-общем, изврат, буду искать нормальную версию...
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#10
Ñòàðûé 09.09.2007, 20:09
  #10
^
ewgeniy
 
Àâàòàð äëÿ ewgeniy
📖
Ðåãèñòðàöèÿ: 18.05.2007
Àäðåñ: Àðêàíàð
Ñîîáùåíèÿ: 1146
Îòïðàâèòü ñîîáùåíèå äëÿ  ewgeniy ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 18.05.2007
Àäðåñ: Àðêàíàð
Ñîîáùåíèÿ: 1146
Îòïðàâèòü ñîîáùåíèå äëÿ  ewgeniy ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Попробуй поставить эверест профешнл и глянь, че у тя и как. 100% это нереально, у меня на РII 350 герои летали, и винамп, и все что хочешь..
Попробуй диск купить это недорого, я видел АБ от 80 до 100р в питере...
Для лиценз диска это ерунда...
И никаких глюков небудет, и лучше бери SoD, на него все что хочешь можно поставить, и от диска отучить, и все такое...
__________________
Â. Óýéòñ©

Íî ïîñêîëüêó ÿ íèùèé,

ó ìåíÿ ëèøü åñòü ìå÷òû.

ß ðàçîñòëàë ñâîè ìå÷òû ïðåä âàøèìè íîãàìè.

Ñòóïàéòå áåðåæíî, èáî âû ñòóïàåòå ïî ìîèì ìå÷òàì.
âðåìåííî óøåë ñ ôîðóìà, ïåðåîäè÷åñêè çàãëÿäûâàþ. êîìó íóæåí ïèøèòå â ñêàéï ewgeniy1985. â àñüêå 384385000 î÷åíü ðåäêî.
Â. Óýéòñ©

Íî ïîñêîëüêó ÿ íèùèé,

ó ìåíÿ ëèøü åñòü ìå÷òû.

ß ðàçîñòëàë ñâîè ìå÷òû ïðåä âàøèìè íîãàìè.

Ñòóïàéòå áåðåæíî, èáî âû ñòóïàåòå ïî ìîèì ìå÷òàì.
âðåìåííî óøåë ñ ôîðóìà, ïåðåîäè÷åñêè çàãëÿäûâàþ. êîìó íóæåí ïèøèòå â ñêàéï ewgeniy1985. â àñüêå 384385000 î÷åíü ðåäêî.
ewgeniy âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#11
Ñòàðûé 10.09.2007, 00:51
  #11
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

ewgeniy;111450Попробуй поставить эверест профешнл и глянь, че у тя и как. 100% это нереально, у меня на РII 350 герои летали, и винамп, и все что хочешь..
Попробуй диск купить это недорого, я видел АБ от 80 до 100р в питере...
Для лиценз диска это ерунда...
И никаких глюков небудет, и лучше бери SoD, на него все что хочешь можно поставить, и от диска отучить, и все такое...

Вполне реально 100% - там бесконечный цикл крутится без wait'ов. Поскольку отсутствует пятый слот под артефакты, есть подозрение, что герои какие-то не совсем лицензионные. В-общем, заеду завтра на рынок Савёловский, куплю "Буковскую" версию, как что - отпишусь.
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#12
Ñòàðûé 11.09.2007, 01:09
  #12
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Приключения продолжаются. Поставил Героев из "платиновой" серии - вылетают часто. Я уже понял, что мне везёт как-то по-особенному, но я буду бороться до конца :-)
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#13
Ñòàðûé 12.09.2007, 03:02
  #13
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

Итак, решил все проблемы :-) Расскажу по порядку:

1) Установил Клинок Армагеддона, сверху установил (в ту же папку) Дыхание смерти. Обновил Дыхание смерти. Случайные карты генерятся.

2) Отключил второе ядро процессора. (В диспетчере устройств заменил драйвер ACPI Multiprocessor PC на ACPI Uniprocessor PC). Как результат - герои не вылетают (не виснут).

3) Написал DLL-ку для героев, которая на каждые 10 вызовов функции IsIconic делает один вызов sleep(1). Результат - загрузка процессора 1-3%.

В-общем, спасибо всем за помощь :-)
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#14
Ñòàðûé 06.11.2007, 23:07
  #14
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

По просьбам трудящихся опишу процесс поподробнее.
Оговорюсь сразу, что полученный продукт имеет полное право завесить винду, и, кто не закрыл документ MS Office или кто прописал гадость сию в автозагрузку - я не виноват :-)
Безобразие я переписал, т.к. в оригинальном варианте сие предназначалось для конкретной версии 3-х Героев. Много кода надёргал с wasm.ru, в особенности из http://wasm.ru/article.php?article=apihook_1

Как оно работает? Всё просто. приложение prog.exe дёргает функцию set_hook из библиотеки syshook.dll. Это могло быть любое приложение, имеющее очередь обратотки сообщений windows.
Далее, функция set_hook, находящаяся в dll-ке (требование MSDN для системных хуков), ставит хук на WH_CBT. Это мог быть любой другой системный хук. События по данному хуку обрабатываются функцией-заглушкой SysMsgProc. Почему так? А потому что нам нужен не хук - нам нужно подгрузится в адресное пространство всех приложений с окнами, особенно Героев :-)
Можно было прописать эту dll-ку в реестр, чтобы она автоматически ко всем приложениям подсасывалась, однако, я не идеален и, думаю, понаделал кучу ошибок. В-общем, чтобы система не падала, лучше так не делать.

DLL-ка при подгрузке ищет в папке, откуда был запущен процесс, файл syshook.ini. В первой строчке этого файла должно быть регулярное выражение, соответствующее имени запускаемого файла, во второй строчке - через сколько раз вызывать sleep(1) при вызовах IsIconic.

Про механизм внедрения рассказывать тут не буду - читайте статью, там всё понятно.

Если кто скажет, что главная процедура DLL-ки должна была бы и выгрузку корректно обработать, то замечу, что мне хотелось, чтобы программа компилировалась у всех под Delphi 6, а там ошибка в system.pas, которая не позволяет корректно обрабатывать события загрузки/выгрузки. Стек сломали-с.

Итак, как оно работает. В папке с Героями должен лежать syshook.ini (в архиве прилагается пример). Запускаем программу (prog.exe), ждём 3 секунды, она должна что-то написать, затем запускаем героев. Программу не закрываем :-).

P.S.: можно было бы сделать более лёгкое и менее кривое решение - исправить exe-шник Героев, но это уже процесс творческий и индивидуальный для каждой конкретной версии Героев.

P.P.S.: в архиве помимо бинарников приложены исходники, дабы желающие могли компилировать вволю. В Delphi открывать dpr-файлы, я компилировал в Delphi 6, можно открыть и скомпилить в Delphi 7.
Dll-ка и exe-шник компилятся отдельно.

Извините за сумбурное описание и хреновый стиль программирования - мало спал %<
Âëîæåíèÿ
Òèï ôàéëà: zip heroes_cpu.zip (461.5 Êáàéò, 145 ïðîñìîòðîâ)
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#15
Ñòàðûé 07.11.2007, 01:55
  #15
^
ezhfan
📖
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ðåãèñòðàöèÿ: 02.09.2007
Ñîîáùåíèÿ: 14
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] 100% Çàãðóçêà ïðîöåññîðà â ãåðîÿõ.

И добавлю пару слов насчёт ошибок в программе:
1) Переменная Hook в функции CallNextHookEx скорее всего некорректна (неопределена). Не думаю, что это критическая ошибка.
2) Новая функция, замещающая IsIconic, нереентерабельна, т.е. если в два потока начать её дёргать - будет плохо (но Герои III так не сделают). Для других программ нужно что-то придумать с синхронизацией (используя, например, InterlockedExchange).
3) Используемый метод инжекта также неидеален - для Героев можно было бы сделать запускалку (и не надо было бы извращаться с DLL-ками и хуками). Но тогда программа будет неуниверсальной и её нельзя будет доработать, чтобы, скажем, она запускала Starcraft (т.к. тот запускается лоадером).
4) Отсутствие комментариев говорит само за себя. Впрочем, если кто что спросит - я отвечу (если не исчезну с форума).
5) Скорость работы можно было бы увеличить, если вместо ReadProcessMemory и WriteProcessMemory использовать чтение и запись памяти "напрямую", предварительно открыв доступ с помощью VirtualProtect.
6) Открытие процесса с правами PROCESS_ALL_ACCESS - тоже косяк, оно не всегда работать будет, если пользователь в правах ограничен.
7) Даже боюсь себе представить, как оно будет работать под Windows Vista Впрочем, наверное, это проблемы Microsoft и того перца, который сидит на Vista.
ezhfan âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 1 èç 2


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 02:05.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru