![]() |
Garbage Collector возможно ли отключить?
Собственно возникла проблема эта "дрянь" запускается каждые 2 секунды. Раньше не дождаться было когда он сработает (Flash Player 9) сейчас из-за него каждые 2 секунды fps падает с 50 до 18 :(((. Сами понимаете как это выглядит.
|
может лучше не давать "eй" повода так часто запускаться?
иначе рискуешь fps вовсе в ноль загнать.. |
Не давать поводу ммм, звучит неплохо, но на практике бррр.
1) Данный проект раньше на 9 player'е не вызывал таких проблем. 2) Когда в проекте более 3000 классов проблематично не давать повода. 3) Поводом могут служить лишь временные ассоциативные массивы. А куда без них, удваивать используемую память? Для сравнения сейчас памяти жрет 900 мегов. Как становится 901 метр GC срабатывает, из-за 1 метра чистить память ЛОЛ. Причем не принципиально 900 метров или 2, каждый лишний метр будет чистить( |
Что за проект, если не секрет? 900 мб это прямо серьезно.
|
3D движок, а 900 метров жрет 1.5 миллиона полигонов (целый уровень из WoW(город Ironforge)). Вот такой вот изврат :)))
|
удачи )
|
А что удачи все сделано, только проблема с GC.
|
Не по теме, но можно взглянуть на это?
50 фпс и 1.5 миллиона полигонов (!!!) на флеше... Если это так - вы уже миллионер. |
да действительно, я в своем то движке еле добился 30фпс для 1500 полигонов, а у вас там такое...
|
Чето мне тоже с трудом верится. Скрины в студию.
|
Интересно, сколько времени вы уже пишете проект, что у вас там 3000 классов? :)
Не, ну выжрать 900 метров памяти не вопрос, просто это не GC, а самый банальный своп на винт, потому что реальной памяти, я так понимаю, всего гигабайт. |
да я думаю что там все банально и не интересно, и 3000 классов это не классов а обьектов. хотя было бы интересно посмотреть, если я ошибаюсь
|
2 ramshteks, вы слишком недоверчивы.
|
да а как тут быть доверчивым, если вам говорят что сделали WOW при 1.5 милиарде полигонов с fps 50
как тут верить ? |
Да в Адоби с трудом 700 классов выжали :D А тут аж 3000!
|
Я вот не представляю, что там можно в 3000 классов засунуть.
|
Цитата:
|
1) Классов самого движка около 200, все остальные это классы полигональных объектов в 3 уровнях детализации.
2) Вы понимаете что на экран выводится не 1.5 милиона полигонов каждый кадр. В пирамиду видимости попадает от 5000 до 20000 полигонов. И после многих алгоритмов таких как: Frustum, View Cliping, Shadow Cliping, адаптивной триангулиции, перспективной коррекции и т.д. во ViewPort рисуется в среднем 6000 - 8000 треугольников. 3) Соответственно нет динамических теней думаю понятно почему (Нет аппаратной поддержки). Все тени выпечены в текстуры. 4) Первый рабочий запуск движка был произведен спустя 3 недели написания проекта. А так уже месяца 3 занимаюсь оптимизацией (видимо последствия оптимизации и вызвали проблему GC), добавлением новых алгоритмов, переписыванием старых. 5) Цитата:
Вообщем пока займемся экспериментами, как всегда отладка отладка. Насчет скринов сайт откроется в ближайшее время, но как вы понимаете WoW город я не выложу, там одних текстур на 120 мегов. Такой объем для демки в инете много. + авторские права Blizzard :) - может они и разрешат как демку выложить, но это проблематично уже связывался там согласие должны дать все кто создавал модели, текстуры. |
ох, сомнительно сомнительно, ну сделайте демку, не вов, а просто так, чтоб заценить. Насколько мне известно и по моему опыту, флеш не способен на такое.
|
Flash не способен перерисовать область с разрешением 800x600 ? Делаю демки не WoW ), времени много на это уходит я не 3D модельер (
|
Я как понимаю вся контора Альтернативы нервно курит в сторонке со своими 2000 полигонами...
Цитата:
|
MonkDead, вообще говоря, у большинства тех, кто связывался с флешовым GC ситуация обратная, он как раз таки крайне редко срабатывает, засасывая всё бОльшие объемы памяти и не высвобождая то, что давно удалено движком.
|
У Альтернативы BSP дерево на нем далеко не уедешь (для открытых пространств и динамических сцен совсем не катит). Хорошо через пару часиков залью пару скринов и кину ссылки.
Насчет GS вычитал тут в гугле он вызывается каждые 310 сек и если есть что удалять он удаляет, а в следующей раз он вызывается уже через 300 сек и так далее. Незнаю насколько это правда выглядит сомнительно, но черт этих Adobo'вцев знает. Добавлено через 1 минуту etc Я сам постоянно маты ложил на GC что он "нихрена" не собирал мусор, а тут ппц. |
Мдя... Хочу серьезного сэма на флеше! Порадуйте, маэстро, хотя бы скринами вов.
|
Вот собственно пару скринов:
http://s49.***********/i125/0902/da/b5c17bc73756.jpg http://s49.***********/i125/0902/da/b5c17bc73257.jpg |
Все усиленно ржали над автором 2 страницы =) Как говорится смеется тот, кто смеется последним.
@MonkDead можно с вами познакомится =)? |
:) Я на форум зашел не для пантов, а решит задачу с которой не сталкивался. Люди существа недоверчивые и это правильно, я и сам бы месяца 4 назад сказал бы что это не реал, но сутки напролет приводят к результату!!!
Я рад знакомствам и общению с коллегами по цеху :). |
все-таки демку какую-нибудь посмотреть гораздо интереснее было бы
имеется возможность? |
2 МonkDead, дай знать как появятся первые WoW город в нете. Прямо заинтреговало. Борьба с памятью - это война.
|
@Badun не факт что автор имеет право выкладывать демки/прототипы. Я бы не выложил до паблик беты 99% =)
|
ну спросить то не грех )
|
Демки пока не выложу! У каждого руки чешутся декомпилятором пройтись :) Зарегистрирую авторские права тогда и демки появятся, а пока ждемс сайта, доков статей ну разумеется если кому интересно :)
Цитата:
|
Можешь чтобы не чесались, пройтись обфускатором. На моем опыте производительность не связана с мемориликами.
|
Связана :) Когда мы проводим предрасчеты и храним их, мы жрем память, но снижается количество динамических расчетов.
Простой пример: расчитывать нормали к полигонам каждый кадр или расчитать нормали к полигонам в глобальной системе координат записать их, а каждый кадр сравнивать их с нормалью камеры. Ради интереса проводил эксперимент: 1) Динамический расчет нормалей для 5000 полигонов занимал 14мс 2) Предрасчет и сравнение с нормалью камеры тех же 5000 полигонов занимал менее 1мс. Разница в используемой памяти отличалась в 2 раза. |
Пожалуйста хватит клянчить демки.
|
млн полигонов это круто. А сколько человек занимается движком не скажете?
Что-то с памятью у вас не так это точно, потому что хранение 5000 нормалей не может забирать в два раза больше памяти. |
Цитата:
|
MonkDead, браво!
Простите мой скептицизм! Теперь я belive в чудеса :) |
да какие скрины, даешь флеш!)
|
Конечно, что-то конкретное можно сказать, после демо в формате swf.:)
|
| Часовой пояс GMT +4, время: 16:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.