Сейчас 16:28:26 Суббота, 4 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Время загрузки карты
Время загрузки карты
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
Блокировки:
Quote (CHLSN)
cJass?
Да.
Еще скорость загрузки снижает объявление глобальных переменных (в блоке 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% Уже переменные объекты и прочая ересь. Там всё быстро, обычно без тормозов.

Во всяком случае, этот нубо-ответ основан на моём опыте :p


[ Страница проектов F.S.B.(Обновление) ]
Долгих 6 лет на Инфо... Oh Shiiiiii...


Сообщение отредактировал Десантник - Вторник, 14 Июня 2011, 14:53:49
 

CHLSNДата: Вторник, 14 Июня 2011, 14:57:30 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Десантник, после того, как я увеличил размер карты с 200х200 до 480х480, зависает у меня не на 30-40% заполнения полосы загрузки, а на ~90%.
:D




Я в контакте и на 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 сек - это нормально, особенно если у тебя быстро догружается с юнитами и кодами.

Бтв, всё ещё зависит от состава и конфигурации железа buba


[ Страница проектов F.S.B.(Обновление) ]
Долгих 6 лет на Инфо... Oh Shiiiiii...
 

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%


[ Страница проектов F.S.B.(Обновление) ]
Долгих 6 лет на Инфо... Oh Shiiiiii...
 

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.
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Время загрузки карты
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz