Показать сообщение отдельно
Старый 17.02.2013, 16:21   #3
Новичок
 
Регистрация: 20.04.2012
Сообщений: 4
Сказал Спасибо: 0
Имеет 2 спасибок в 2 сообщенях
cmdprompt пока неопределено
По умолчанию

Не пробовал последнюю, так как пропатчил 3.35.33.172 через лаунчер (ехе править нельзя, защита ), дабы разгрузить процессор. Уменьшил макс. длину пакета до 16кб (длиннее пакетов никогда не втречал), удалил в нескольких местах вызов процедуры FillMemory - она вызывается раз 10 при приходе каждого(!) пакета. В итоге при большой нагрузке проц стал в 2 раза меньше напрягаться.

А вообще разработчикам напишу то, что я увидел в IDA disassembler. Вы передаёте пакет не по ссылке, а по значению, даже тогда, когда функция изменяет пакет . При приходе пакета вызываются около 4х вложенных функций, и каждый раз пакет копируется из одного буфера в другой, предварительно выделив под него место в стеке, и копируется не столько байт, сколько занимает пакет, а всегда весь буфер 64кб(!) что ОЧЕНЬ напрягает процессор, особенно старые одноядерные. Пропатчил прогу потому, что в тот момент, когда у меня был слабый комп, не были доступны исходники.

Последний раз редактировалось cmdprompt, 17.02.2013 в 16:26.
cmdprompt вне форума   Ответить с цитированием
За это сообщение cmdprompt нажился спасибкой от: