![]() |
Параноя.Потеря памяти.
Вложений: 2
И нет.. Это не убер-блиц-хит. Это у меня параноя. Просто запустив игру я включил диспетчер задач, и увидел что при каждой загрузке-выгрузке уровня теряется память т.е. процес занимает все больше и больше.
В панике перелопатил весь код, в итоге оставил только загрузку анимированной модели. И обнаружил что блитц куда-то девает до 200 лишних килобайт на одну загруженную и выгруженную аниммодель. Учитывая что в игре загружается не по одной модельке волосы встают дыбом..:blink: Вложение 4953 - пример Вопрос скорее риторический - Что делать? И кстати все-таки куда уходит память?:mda: --------------------- И кстати ClearWorld непомогает. |
Re: Параноя.Потеря памяти.
ну течет память в двиге блица (код не смотрел ^_^)
что с того-то ? |
Re: Параноя.Потеря памяти.
Значит таки течет! Значит таки "руконьки не из жопананьки"!
Я здоров !!Гип-гип ура!:) Но всетаки за державу обидно...:( Тогда как полностью все выгрузить, на экстренный случай? |
Re: Параноя.Потеря памяти.
Ничего там в Блице не течет, ты просто что-то не удаляешь. Попробуй, если не веришь, отдельно грузить\удалять аним меши и смотри на выделяемую память.
|
Re: Параноя.Потеря памяти.
Проверял, не течет ничего
в цикле 2 миллиона раз загружал\удалял все ок. |
Re: Параноя.Потеря памяти.
Стоп.Так может проблема в модельке?
Если кто не заметил, я в первый пост прикрепил архив с примером. Дабы не быть голословным: Прога запустилась - 7,748 KB 1й проход в 10 лоад/анлоад - 7,856 KB 2 - 7,856 KB 3 - 7,856 KB 4 - 7,856 KB 5 - 7,956 KB 6 - 7,956 KB 7 - 7,964 KB --- P.S. Cyan, лучше промолчать , чем сказать не о чем. Прежде чем отвечать перечитайте текст 1 поста, и взгляните на пример. |
Re: Параноя.Потеря памяти.
Stalnoy_Gvozd', попробуй поставить паузу между загрузкой и удалением, может блиц просто не успевает отчитить это всё.
> P.S. Cyan, лучше промолчать , чем сказать не о чем. Прежде чем отвечать перечитайте текст 1 поста, и взгляните на пример. хи-хи, что-что а Cyan в блице разбирается, и ещё как, и ответил на твою "параною", ты намекнул что в блице могет что-то течь, он опровергнул, и не просто "догадками", а руководствуясь опытом. |
Re: Параноя.Потеря памяти.
А что блицу надо еще и подумать прежде чем выгрузить модельку? Эт что получается: выгрузил - подождал, следующую выгрузил - подождал..
Нет чето тут не то. Если запускали пример сообщите пожалуйста о своих результатах. И давайте будем думать вместе. Опять же может проблема в модели, в ней использовались dummy'сы. Я серьёзно. >2MoKa: Cyan и всем я сообщил, что оставил в программе только загрузку/выгрузку одной модели и добавил пример проги, а мне говорят: "нет ты этого не делал!"-это не умно, я был "фшоке". И еще, про протечку в блитце мне "подсказал" jimon. |
Re: Параноя.Потеря памяти.
Stalnoy_Gvozd', ну я не думаю что процессоры умеют работать мгновенно. Ему же нужно подумать, оперативке нужно тоже время. Если бы всё работало мгновенно, мы бы жыли совсем подругому ;)
Провёл тест, такого кода: [blitz]Graphics3D 800,600,0,2 SetBuffer BackBuffer() While Not KeyHit(1) ms=MilliSecs() For i=1 To 10 Track=LoadAnimMesh("Tracks\track_3.b3d") FreeEntity(Track) Next tms=MilliSecs()-ms Print tms If KeyHit(57) Stop Wend[/blitz] цифры прыгают от 60 до 70, при этом стабильно никаких завышений со временем, всё отлично работает. Незнаю как ты получал свои числа. |
Re: Параноя.Потеря памяти.
MoKa, ну я тож догадывался, что процессоры не умеют работать мгновенно (Чо вы из меня дурочка делаете?;) ). Но то что прога может приступить к следующему оператору не выполнив предыдушего:4to: , это для меня в новинку...
|
Re: Параноя.Потеря памяти.
Это не факт, но возможно такое:
Утечька памяти может проистикать не тока из-за скорости, а к примеру когда движок выделяет облость памяти под данные то может указывать адресс в памяти со смещением получаетсья что иногда он указывает на облость тока что удаленного, то смещаетсья указатель на ближайшее свободное место. Подразумевая что ту облость памяти используют. Когдато давно на форумах разработчиков С++ говорилось об этом. Т.е. некорректно работают функции резервирования памяти. |
Re: Параноя.Потеря памяти.
Stalnoy_Gvozd', скриншот в студию, я не нашёл твоих цифр, нигде не нашёл "утечки", и то что в приложении, модифицировав, абсолютно адекватно выдаёт данные, что ну ни как не тревожит. :)
|
Re: Параноя.Потеря памяти.
Stalnoy_Gvozd'
добро пожаловать в многопоточность винды ... ы :D обновление числового значения занятой процесом памяти в менеджере процесов выполняется раз в 500 мс помойму и потому значение скачет |
Re: Параноя.Потеря памяти.
Мдаааа это не параноя.
Стартует сея пример у меня с 8924 и в действительности сумма после выполнения процесса меняется причём я заметил что на сумму влеяет ещё и сворачивание/разворачивание окна самое максимальное что я смог выбить с примера 9168 дальше расти не хотело самое минимальное до скольки упало 2116 P.S. а в свёрнутом режиме окна падало ниже 1500 Добавил: Цитата:
|
Re: Параноя.Потеря памяти.
Да, кстати, я нигде не сказал но это так:После многочисленных Загр-Выгр кол-во занимаемой памяти действительно останавливается на коком нибудь числе (явно большем чем изначальное).
> 2jimon - оно не просто скачет оно РАСТЁТ! и еще кое что.. завтра допишу хочу спать. |
Часовой пояс GMT +4, время: 22:46. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot