Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Stealth начинает бесконтрольно жрать 100% процессора

Post Reply
Blade
Neophyte
Neophyte
Posts: 13
Joined: 06.04.2016 0:44

Stealth начинает бесконтрольно жрать 100% процессора

Post by Blade »

Стелс работает на амазоновской бесплатной виртуалке.
На стелсе 8-10 чаров, и со временем прога начинает жрать весь проц. Смог локализировать, из-за чего это происходит - файт стоит на рес-киле персонажа по кулдауну - убил, реснул, тут же снова убил. Так качается хилинг и анатомка.
Как только трупы начинают исчезать, то робы подбирает третий персонаж, так что с этим проблем нет.
Но по всей видимости, в один из моментов времени, когда трупов и скелетов становится слишком много, стелс и начинает сходить с ума. Это ТОЧНО именно из-за этого. Дело не в самих скриптах. Такое впечатление, что стелс не выдерживает такое количество итемов в своей памяти. Хотя я и не знаю точно, сколько их там - по-моему не так уж и много. Если труп полностью исчезает допустим за 10 минут, а файт убивает раз в 10 сек, то это 60 итемов.
Сначала я подумал, что может эти 60 итемов появляется у всех 8 персах стоящих в доме, и проблема именно в этом - я убрал рескилящихся персов из дома в лодку.
Не помогло.
Потом я попытался игнорить все трупы и скелеты, написав такой скрипт:

Code: Select all

while true do
  begin
    if FindType($2006, Ground) > 0 then
    begin
      Ignore(FindItem);      
    end;   
    wait(1000);  
    if FindType($0ECF, Ground) > 0 then
    begin
      Ignore(FindItem);      
    end; 
    wait(1000);  
  end;

Тоже не помогло.
Какие могут быть решения данной проблемы?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth начинает бесконтрольно жрать 100% процессора

Post by Vizit0r »

лет 6 назад после переписывания кешера стелса - нынче он спокойно и без тормозов переваривает 200к айтемов (больше не пробовал, негде, и так граф. клиент сдох).
Так что 60\600\6000 айтемов - это ниочем.
Какие могут быть решения данной проблемы?
качать ProcessExplorer на виртуалку и писать мне в асю\скайп. Я скину кой-чего из приблуд на него, и можно будет глянуть - какой поток и где именно отжирает проц. И наверняка это будет скриптовый поток.

В скрипте ТОЧНО нет мест, где может крутится цикл без задержек?
Вобщем, скрипт тоже гляну - практика показывает, что в 99% проблемы именно там.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Stealth начинает бесконтрольно жрать 100% процессора

Post by drabadan »

Vizit0r wrote:лет 6 назад после переписывания кешера стелса - нынче он спокойно и без тормозов переваривает 200к айтемов (больше не пробовал, негде, и так граф. клиент сдох).
Так что 60\600\6000 айтемов - это ниочем.
Какие могут быть решения данной проблемы?
качать ProcessExplorer на виртуалку и писать мне в асю\скайп. Я скину кой-чего из приблуд на него, и можно будет глянуть - какой поток и где именно отжирает проц. И наверняка это будет скриптовый поток.

В скрипте ТОЧНО нет мест, где может крутится цикл без задержек?
Вобщем, скрипт тоже гляну - практика показывает, что в 99% проблемы именно там.
у меня на виртуалке так же было. Ничего тогда не решилось, мб что то с амазоновскими впс...
Post Reply