|
|
|
|
Время загрузки карты
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:13:31 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Из-за чего карта может долго загружаться? Вообще, бывает у кого-нибудь, что карта при загрузке, зависает на каком-то определенном месте на длительное время? У меня всего лишь 5000 декораций, 120 триггеров, 436 нестандартных объектов, тем не менее где-то секунд на 10, если не больше, варик начинает что-то долго обдумывать.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
MrReverse | Дата: Вторник, 14 Июня 2011, 14:19:14 | Сообщение # 2 |
9 уровень
Группа: КоМодераторы
Сообщений: 1162
Награды: 1
Репутация: 737
Блокировки:
| Quote (CHLSN) секунд на 10 дак это ж быстро...
|
|
|
|
DeadJass | Дата: Вторник, 14 Июня 2011, 14:20:29 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| CHLSN, Из-за триггеров при инициализации
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
SirNikolas | Дата: Вторник, 14 Июня 2011, 14:23:27 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Code define { <call CreateRegions()> = ExecuteFunc("CreateRegions") <call CreateAllDestructables()> = ExecuteFunc("CreateAllDestructables") <call CreateAllUnits()> = ExecuteFunc("CreateAllUnits") } Станет немного легче.
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:24:07 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| DeadJass, не больно ли долго? Почему-то я уверен, что в любой другой карте побольше 100 триггеров, тем не менее, загружаются они достаточно быстро (во всяком случае не виснут на одном месте надолго).
Quote (MrReverse) дак это ж быстро... Я точно не считал, может и на все 20.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
SirNikolas | Дата: Вторник, 14 Июня 2011, 14:24:48 | Сообщение # 6 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (DeadJass) Из-за триггеров при инициализации Кстати, да, триггер с событием "Map initialization" желательно иметь только один.Добавлено (14-06-2011, 14:24) ---------------------------------------------
Quote (CHLSN) во всяком случае, не виснут на одном месте надолго "Пламя и Лёд" виснет.
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:26:47 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (SirNikolas) Станет немного легче. А теперь объясни пожалуйста тот код, который ты написал.Добавлено (14-06-2011, 14:26) ---------------------------------------------
Quote (DeadJass) Из-за триггеров при инициализации Мне просто страшно, как долго будет загружаться тогда карта, если я к готовым 12 героям сделаю еще 24.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
SirNikolas | Дата: Вторник, 14 Июня 2011, 14:28:41 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Это заменяет вызовы тех трех функций в main на запуск их через ExecuteFunc.
|
|
|
|
DeadJass | Дата: Вторник, 14 Июня 2011, 14:33:02 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| CHLSN, делай событие не инит карты а времени прошло 0,04
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:35:52 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (SirNikolas) Это заменяет вызовы тех трех функций в main на запуск их через ExecuteFunc. cJass?
Quote (SirNikolas) Кстати, да, триггер с событием "Map initialization" желательно иметь только один. Да он у меня и так один.Добавлено (14-06-2011, 14:35) ---------------------------------------------
Quote (DeadJass) CHLSN, делай событие не инит карты а времени прошло 0,04 Пуф. Убило наповал. Если я удалю весь свой триг с Map Initialization, скорость загрузки не изменится, гарантирую потому, что там заполняются только глобальные переменные, да свойства игроков устанавливаются.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
SirNikolas | Дата: Вторник, 14 Июня 2011, 14:38:23 | Сообщение # 11 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Да. Еще скорость загрузки снижает объявление глобальных переменных (в блоке globals). Так что лучше большинство переменных перед релизом объединить в массивы.
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:40:00 | Сообщение # 12 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| В редакторе дольше всего выполняются пункты: Создание моделей Вычисление карты путей Создание переменных объектов Создание разрушаемых декораций
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
SirNikolas | Дата: Вторник, 14 Июня 2011, 14:44:02 | Сообщение # 13 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Может, много областей на карте?
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:44:33 | Сообщение # 14 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (SirNikolas) Да. Еще скорость загрузки снижает объявление глобальных переменных (в блоке globals). Так что лучше большинство переменных перед релизом объединить в массивы. В смысле в массивы 0_о Не, те переменные, которые нужно заполнять хитроумным образом, я объявляю в globals, и инициализирую сам, а остальные?
SirNikolas, а этот код, что ты выложил, можно как-то интерпретировать в обыкновенный для вара скрипт? (После того, как Adic перестал парсировать код, и мне пришлось вручную дополнять везде калы и сеты, я его возненавидел).Добавлено (14-06-2011, 14:44) ---------------------------------------------
Quote (SirNikolas) Может, много областей на карте? 13
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
SirNikolas | Дата: Вторник, 14 Июня 2011, 14:45:41 | Сообщение # 15 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Нет, суть этого кода - проникнуть в труднодоступную для кодера функцию main и изменить в ней три строки. AdicHelper пробовал переустановить?
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:50:47 | Сообщение # 16 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (CHLSN) Создание моделей Может в оригинале это называется "Создание ландшафта"? Клиффы и высоты вершин полигонов.Добавлено (14-06-2011, 14:50) ---------------------------------------------
Quote (SirNikolas) AdicHelper Я даже не знаю в чем фишка, потому что во всех версиях JNGP с AdicHelper он не парсировал код. Сейчас парсирует, но рисковать я не хочу совсем.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Десантник | Дата: Вторник, 14 Июня 2011, 14:53:27 | Сообщение # 17 |
U.N.R.E.A.L.
Группа: Проверенные
Сообщений: 1348
Награды: 2
Репутация: 635
Блокировки:
| CHLSN, Загрузка карты - самый важный процесс. Ну лан, по сабжу: 1). Первые 10-40% - это загрузка декораций и юнитов, которые уже есть на карте. Декорации сами довольно быстро прогружаются, а вот если у мапа похожа на эпическую битву, где уже стоят сотня-другая юнитов - будет долго. Может зависает ~30% 2). 50-70% Код, триггеры. Сами триггеры довольно быстро, замедление может быть скорее всего из-за обилия jass, причём сырого и неоптимизированного. 3). 80-100% Уже переменные объекты и прочая ересь. Там всё быстро, обычно без тормозов.
Во всяком случае, этот нубо-ответ основан на моём опыте
Сообщение отредактировал Десантник - Вторник, 14 Июня 2011, 14:53:49 |
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 14:57:30 | Сообщение # 18 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Десантник, после того, как я увеличил размер карты с 200х200 до 480х480, зависает у меня не на 30-40% заполнения полосы загрузки, а на ~90%.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
SirNikolas | Дата: Вторник, 14 Июня 2011, 15:01:43 | Сообщение # 19 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Десантник, неверно. Вот функция main из "Пламени и Льда".Code function main takes nothing returns nothing local integer i=0 local weathereffect we loop set PlayerNumber[i]=Player(i) exitwhen i==15 set i=i+1 endloop call SetCameraBounds(-15616.0+GetCameraMargin(CAMERA_MARGIN_LEFT),-15872.0+GetCameraMargin(CAMERA_MARGIN_BOTTOM),15616.0-GetCameraMargin(CAMERA_M ARGIN_RIGHT),15360.0-GetCameraMargin(CAMERA_MARGIN_TOP),-15616.0+GetCameraMargin(CAMERA_MARGIN_LEFT),15360.0-GetCameraMargin(CAMERA_MARGIN_T OP),15616.0-GetCameraMargin(CAMERA_MARGIN_RIGHT),-15872.0+GetCameraMargin(CAMERA_MARGIN_BOTTOM)) call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl","Environment\\DNC\\DNCLordaeron\\DNCLordaer onUnit\\DNCLordaeronUnit.mdl") call SetTerrainFogEx(0,2000.0,14000.0,0.700,1.000,1.000,1.000) set we=AddWeatherEffect(ALL_RemoveRect(Rect(-16384.0,-16384.0,16384.0,16384.0)),0x534E6873) call EnableWeatherEffect(we,true) call NewSoundEnvironment("Default") call SetAmbientDaySound("IceCrownDay") call SetAmbientNightSound("IceCrownNight") call SetMapMusic("Music",true,0) call ExecuteFunc("InitSounds") call ExecuteFunc("CreateRegions") call ExecuteFunc("CreateCameras") call ExecuteFunc("InitUpgrades") call ExecuteFunc("CreateAllDestructables") call CreateAllUnits() call InitBlizzard() call ExecuteFunc("jasshelper__initstructs606807640") call ExecuteFunc("AI__Init") call ExecuteFunc("ALL___Init") call ExecuteFunc("CasterSystem___Init") call ExecuteFunc("Spells___Init") call ExecuteFunc("cjsprintflite__Init") call InitGlobals() set ALL_Remove=true call InitCustomTriggers() call RunInitializationTriggers() endfunction Сначала идет базовая настройка карты, вроде погодных эффектов и тумана (на всю карту), затем создаются звуки (из Редактора Звуков), потом - области, камеры, улучшения, декорации и юниты, затем вызывается функция InitBlizzard, которая устанавливает все переменные, вроде bj_mapInitialPlayableArea, после этого запускаются пользовательские библиотеки и области (scope) vJASS, потом глобалкам задаются значения по умолчанию, и только после этого создаются триггеры и запускаются триггеры инициализации. А переменные из блока globals инициализируются в первую очередь.
|
|
|
|
Десантник | Дата: Вторник, 14 Июня 2011, 15:02:17 | Сообщение # 20 |
U.N.R.E.A.L.
Группа: Проверенные
Сообщений: 1348
Награды: 2
Репутация: 635
Блокировки:
| CHLSN, Чесна, с тормозами на 90% я хз вообще. Могу предположить, что у тебя много где используется функция (вся игровая область), (вся карта) и т.д. Хотя 10-12 сек - это нормально, особенно если у тебя быстро догружается с юнитами и кодами.
Бтв, всё ещё зависит от состава и конфигурации железа
|
|
|
|
DeadJass | Дата: Вторник, 14 Июня 2011, 15:02:37 | Сообщение # 21 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| Quote (Десантник) обилия jass GUI
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 15:03:28 | Сообщение # 22 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| SirNikolas, статьи по оптимизации кода есть какие-нибудь?
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Десантник | Дата: Вторник, 14 Июня 2011, 15:04:02 | Сообщение # 23 |
U.N.R.E.A.L.
Группа: Проверенные
Сообщений: 1348
Награды: 2
Репутация: 635
Блокировки:
| SirNikolas, Это было примерно. Т.е если я гамал в карты типо Хелм Дип, где уже куча юнитов были на карте - зависало на 30%. Если гамал в карты, загруженные кодом (Паразит, метастасис или эволюшн таг) - то где-то на 60-70%
|
|
|
|
CHLSN | Дата: Вторник, 14 Июня 2011, 15:14:34 | Сообщение # 24 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Фак мои впечатления, парни! На самом деле зависает на !! 54 !! секунды. =( пичаль...
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
Сообщение отредактировал CHLSN - Вторник, 14 Июня 2011, 15:15:42 |
|
|
|
PUVer | Дата: Вторник, 14 Июня 2011, 15:19:55 | Сообщение # 25 |
Сухопутные крысы!
Группа: Модераторы
Сообщений: 4462
Награды: 8
Репутация: 1845
Блокировки:
| Quote (CHLSN) Фак мои впечатления, парни! На самом деле зависает на !! 54 !! секунды. У меня в GW с овер 1000 триггеров, 8к+ декора, кучи нестандартных объектов, овер 1000 иморт файлов, 100+ областей карта грузит 42 секунды. Попробуй юзать проги типа тулы векса ну или вообще простенькую прогу: ToT.
|
|
|
|
|
|
|
|
|
|
|