XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Windrunner
Верь мне!
offline
Опыт: 4,565
Активность:
Утечки
Вот я сделал для проверки такой код
local effect e = AddSpecialEffect(" ",0,0)
BJDebugMsg(I2S(H2I(e)))
DestroyEffect(e)
e = null
число увеличивается постоянно на 1,тоесть есть утечки,но почему?
Или я попытался проверять на утечки так
timer t = CreateTimer()
BJDebugMsg(I2S(h2i(t)))
DestroyTimer(t)
t = null
И после использования спелла,код,которого максимально очищен и прооптимизирован,все равно число увеличивается на 10,хотя я ставил обнуление и удаление всего,что использовалось.
Старый 11.08.2010, 12:42
AlexKARASb
Learning cpp
offline
Опыт: 22,103
Активность:
число увеличивается постоянно на 1,но почему?
потому что у каждого хендла свой номер
,тоесть есть утечки
то-есть параноя, лечат в других местах
все равно число увеличивается на 10
id хендла и неправильное использование памяти, как автобус и бегемот, и пишутся по разному, и значение на планете имеют разное
Проверку памяти, делают с помощью диспечера задач, и смотрят сколько памяти использует машина на вар
Сколько ты бы не обнулял, но сколько спел требует памяти, столько он ее займет на время. Позже нагрузка снизится, для ускорения этого или профилактики ADOLF писал способ, поищу скину. Речь там идет вроде о замкнутом таймере, запуск пустого таймера с периодом 3с, без переодичности, но не уверен.
Старый 11.08.2010, 13:39
YellowStar
poon
offline
Опыт: 15,144
Активность:
Код:
DestroyEffect(AddSpecialEffect(" ",0,0))

Безутечно максимально (ну если анима смерти нормальная модели, иначе жестокие лаги изза засорение лишним графическими объектами)
Старый 11.08.2010, 14:28
Doc

offline
Опыт: 63,163
Активность:
BJDebugMsg(I2S(H2I(e)))
частое использование - тормоза. Удали эту строчку и смотри диспетчер задач.
частое использование - тормоза
к примеру делая систему снарядов, я выводил для каждого снаряда 3 меседжа, каждые 0.025 секунд, ужасные тормоза при 6 снарядах на пустой карте. Убрав дебагмеседжи я узрел что такие тормоза вызывают только около 400 одновременныз снарядов, при 200 - 60 фпс.
Старый 11.08.2010, 17:35
Elf_Stratigo

offline
Опыт: 4,699
Активность:
как то писал алгоритм, в нём были утечки, однако при исследовании нашёл, что вар всёравно уничтожает объекты
Старый 11.08.2010, 20:07
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
если за игру утекает около 40 мб это много? за 1 час примерно
Старый 11.08.2010, 20:26
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
BJDebugMsg(I2S(h2i(t)))
это динамическая строка, а каждая использованная строка остаётся в памяти навсегда, без возможности очистки. каждый раз ты делаешь строчку-утечку, а потом удивляешься что не так.
Elf_Stratigo, тоже замечал, окончательно никто так и не исследовал этот вопрос.
и вообще что вы так паритесь? твоё заклинание применяют 300 раз в игру, или всего 3-6 раза? уверен что последнее, нет смысла так убиваться.
Старый 11.08.2010, 21:13
Doc

offline
Опыт: 63,163
Активность:
300 раз в игру
тоже не решает кагбэ.
без возможности очистки
save, load, profit.
Старый 11.08.2010, 21:20
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
Doc, смотря на тип утечки. 300 неудалённых эффектов и будут нереальные лаги.
save, load, profit.
"уважаемый игрок, после произнесения заклинания пожалуйста перезагрузите игру". как бы ясно, про что была речь, строчки не удаляются никак, а её использование в качестве теста всегда даст новую строчку, которая ещё раз запишется.
Старый 11.08.2010, 21:28
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Цитата:
Сообщение от 16GB
если за игру утекает около 40 мб это много? за 1 час примерно


Нет конечно, определенно присутствует где то не маленькая утечка, но не смертельно. Тем более в аос больше часа в среднем не рубятся.
Старый 11.08.2010, 21:41
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
16GB, легион тд. утечка к концу игры составляет больше 100 Мб. за свои около 25-30 игр я ни разу не слышал от игроков жалобы на лаги и т.п.
Старый 11.08.2010, 21:51
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Ну лаги начинаются не из за объема утечки, а из за нехватки озу для оперирования с данными, так к примеру на машинах с 10гб+ озу, даж самые страшные утечки не опасны, это критично для калькуляторщиков у которых менее ~1 гб озу, хотя даже этот лимит не так просто достигнуть, ведь необходимо ~ 200-300 мб утечек, столько собрать можно разве что с группой тригеров с таймером 0.01 которые будут создавать несколько утечек каждый=)
Старый 11.08.2010, 22:28
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
Faion, это в общем случае так, но если ты постоянно будешь создавать допустим эффекты, то всё ляжет очень быстро независимо от компа, потому что движок вара уже не будет тянуть.
Старый 11.08.2010, 22:32
Windrunner
Верь мне!
offline
Опыт: 4,565
Активность:
Doc:
частое использование - тормоза. Удали эту строчку и смотри диспетчер задач.
Я использую это лишь для теста,после него я эти строки удаляю.
Doc:
к примеру делая систему снарядов, я выводил для каждого снаряда 3 меседжа, каждые 0.025 секунд, ужасные тормоза при 6 снарядах на пустой карте. Убрав дебагмеседжи я узрел что такие тормоза вызывают только около 400 одновременныз снарядов, при 200 - 60 фпс.
Сталкивался точь в точь с такой же проблемой=)
Старый 12.08.2010, 09:26
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:27.