Сейчас 21:50:43 Четверг, 2 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » У меня лаги при появление юнитов (но при некоторых условиях)
У меня лаги при появление юнитов
Kam1kazyДата: Пятница, 06 Июля 2012, 12:33:40 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 29
Блокировки:
У меня лаги при появление 30 юнитов, но эти юниты за игрока, а если за нейтральных-враждебных не логает. В чем разница ?
 

GameprOДата: Пятница, 06 Июля 2012, 12:40:21 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 422
Награды: 0
Репутация: 76
Блокировки:
Kam1kazy, У тебя для этого игрока ИИ есть? или мб ты их выделяешь каждые 0.5 сек и создаёшь какую-то точку не очищая.

Добавлено (06 Июль 2012, 12:40:21)
---------------------------------------------
У меня такое было, стал делать точки и очищать их, лаги пропали.



Всё гениальное - просто, но не всё простое - гениально...
 

Kam1kazyДата: Пятница, 06 Июля 2012, 13:38:26 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 29
Блокировки:
Я не слова не понял :D
 

derasdДата: Пятница, 06 Июля 2012, 13:39:25 | Сообщение # 4
3 уровень
Группа: Пользователи
Сообщений: 48
Награды: 0
Репутация: 10
Блокировки:
Quote (Kam1kazy)
Я не слова не понял

Я тоже :)
 

GameprOДата: Пятница, 06 Июля 2012, 13:40:16 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 422
Награды: 0
Репутация: 76
Блокировки:
Попробуй создать так:
Для каждого целого числа А от 1 до 30 делать действия:
Установить "Point" - какая-то точка.
Создать 1 "Пехотинец" для игрока "Игрок 1 Красный" в точке "Point" и угол поворота "Нормальный"
CS: call RemoveLocation (udg_Point)



Всё гениальное - просто, но не всё простое - гениально...
 

Kam1kazyДата: Пятница, 06 Июля 2012, 14:45:16 | Сообщение # 6
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 29
Блокировки:
Quote
CS: call RemoveLocation (udg_Point)

Это решение проблемы типа ? Часто видел в триггерах это Jass код, а что он означает ?
 

GameprOДата: Пятница, 06 Июля 2012, 15:10:46 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 422
Награды: 0
Репутация: 76
Блокировки:
Kam1kazy, это удаление точки с этой переменной, точнее - удаление утечек, из-за которых могут быть лаги.


Всё гениальное - просто, но не всё простое - гениально...
 

L1ke_a_SiRДата: Пятница, 06 Июля 2012, 15:10:48 | Сообщение # 8
4 уровень
Группа: Проверенные
Сообщений: 99
Награды: 0
Репутация: 39
Блокировки:
Kam1kazy, могу предположить что ты не знаешь об утечках?
Советую прочитать вот эту статью:
http://warcraft3ft.info/board/umenshaem_lagi_v_karte/14-1-0-1178
Quote (Kam1kazy)
CS: call RemoveLocation (udg_Point)
CS - кастом скрипт ( так сказать, отрывок из джасса ), используется для устранения утечек, и не только.
 

NaturekidДата: Пятница, 06 Июля 2012, 15:14:27 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
У меня лаги при первом создании героев, потом хоть 100 сразу создавай - лагов нет, а при первом разе жёсткие...:D

 

Kam1kazyДата: Пятница, 06 Июля 2012, 15:49:04 | Сообщение # 10
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 29
Блокировки:
L1ke_a_SiR я читал её, я мало понимал её пока читал, но щас еще раз перечитаю.
Naturekid Попробуй тоже прочитать )

Добавлено (06 Июль 2012, 15:49:04)
---------------------------------------------
Уу, щас буду все точки в переменные пихать ) Блин тут много работы ! Спасибо за информацию )

 

аркейДата: Пятница, 06 Июля 2012, 15:56:10 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 948
Награды: 0
Репутация: 1080
Блокировки:
Попробуй всех юнитов еще до инцилизации на мапу поставить
во время инцилизации уничтож их
потом во время создаванныя их лагов не должно быть

Добавлено (06 Июль 2012, 15:56:10)
---------------------------------------------
Попробуй всех юнитов еще до инцилизации на мапу поставить
во время инцилизации уничтож их
потом во время создаванныя их лагов не должно быть


 

L1ke_a_SiRДата: Пятница, 06 Июля 2012, 15:59:28 | Сообщение # 12
4 уровень
Группа: Проверенные
Сообщений: 99
Награды: 0
Репутация: 39
Блокировки:
Quote (аркей)
Попробуй всех юнитов еще до инцилизации на мапу поставить во время инцилизации уничтож их потом во время создаванныя их лагов не должно быть

Что бы карта дольше грузилась, ага?
Сир, почитайте ответы других пользователей, что бы вникнуть в суть проблемы.
 

Kam1kazyДата: Пятница, 06 Июля 2012, 15:59:32 | Сообщение # 13
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 29
Блокировки:
Значит если я создам область, то и там будут появляться Б.Е. это не бдует утечкой ?
 

L1ke_a_SiRДата: Пятница, 06 Июля 2012, 16:14:47 | Сообщение # 14
4 уровень
Группа: Проверенные
Сообщений: 99
Награды: 0
Репутация: 39
Блокировки:
Kam1kazy, сама область не будет утечной. А вот точка создания Б.Е. вызовет утечку.

Добавлено (06 Июль 2012, 16:13:13)
---------------------------------------------
Скажем, ты создал триггер:
С. ... ( твоё событие ).
У. ... ( твоё условие ).
Д. Б.Е. - Создать 1 Пехотинца в центре области001* лицом Стандартная ориентация зданий.
* в этом случае, точкой является центр области 001. Что бы её удалить, нужно перед созданием пехотинца сохранить точку, а потом удалить.
Вот как правильно будет:
Д.
Переменная Point* = центр области001;
Б.Е. - Создать 1 Пехотинца в центре области001* лицом Стандартная ориентация зданий.
Custom script: call RemoveLocation (udg_Point)
* переменная типа точка;

Добавлено (06 Июль 2012, 16:14:47)
---------------------------------------------
Упс, ошибочка:

Quote (L1ke_a_SiR)
Б.Е. - Создать 1 Пехотинца в
* лицом Стандартная ориентация зданий.
 

Kam1kazyДата: Пятница, 06 Июля 2012, 18:18:40 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 29
Блокировки:
Аааа вот оно как, спасибо поянял
 

AloofДата: Пятница, 06 Июля 2012, 19:50:21 | Сообщение # 16
5 уровень
Группа: Проверенные
Сообщений: 107
Награды: 0
Репутация: 14
Блокировки:
О! Актуальная для меня тема. Мне "в наследство" досталась карта, типа доты, там есть специальная область, где создаются в фоне (черещ ExecuteFunction(...)) герои, а затем уничтожаются. Если это убрать, то в момент выбора героя происходит очень приличный лаг. Поэтому совет
Quote (аркей)
Попробуй всех юнитов еще до инцилизации на мапу поставить
во время инцилизации уничтож их

каким бы странным ни казался, то действует. Но это костыль/хак/некрасивое решение. На учетки я, конечно, всё посмотрю, но у меня есть сомнения, что они тут как-то причасны, ибо лаги начиются после удаления заведомого говнокда типа
Code
set u = CreateUnit(...)
set u = CreateUnit(...)
set u = CreateUnit(...)
set u = CreateUnit(...)

Т.е. вот этот код с учеткой наоборот помогает, т.е. как будто что-то кешируется и при выборе героя что-то оттуда берётся. Особенность WC3?

Добавлено (06 Июль 2012, 19:42:37)
---------------------------------------------
Утечкой*

Добавлено (06 Июль 2012, 19:50:21)
---------------------------------------------
Вот, кстати, похожая тема и похожий совет: http://www.hiveworkshop.com/forums/triggers-scripts-269/lag-when-buying-hero-210810/

Quote
The most common solution is pre-placing your heroes on the map and then removing them at map initialization.

А вот, кстати, и возможная причина:
Quote
The lag is caused by the game having to load all the spells when you choose a hero.

Блин, это отвратительно.
 

Ty3uKДата: Пятница, 06 Июля 2012, 21:30:17 | Сообщение # 17
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
вот функция от Николаса, решает костыльный вариант с постановкой юнитов на карту:
Code
function PreloadUnit takes integer uid returns nothing
    call RemoveUnit(CreateUnit(Player(12), uid, 0., 0., 0.))
endfunction

функция создает и уничтожает юнита с указанным равкодом (смотрим в ро по нажатию Ctrl+D)
используем при инициализации карты. для тех, кто не знает - равкод берется в ординарные кавычки, а вышепривкденный код вставляется в шапку карты. пример вызова:
Code
call PreloadUnit('Hblm')
подгружаем чародея крови.


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Kam1kazyДата: Воскресенье, 08 Июля 2012, 13:07:00 | Сообщение # 18
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 29
Блокировки:
У меня такой вопрос, если я прописываю Jass-код: call RemoveLocation (udg_) позже на этой локации смогу происходить действия или она окончательно удалена ?
 

NaturekidДата: Воскресенье, 08 Июля 2012, 13:11:39 | Сообщение # 19
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Quote (Kam1kazy)
У меня такой вопрос, если я прописываю Jass-код: call RemoveLocation (udg_) позже на этой локации смогу происходить действия или она окончательно удалена ?

Смогут канеш...
У меня в триггере удалены все утечки, но пр первом создании героев лаги практически не уменьшились... avtorfffuuu
Вопрос большой двойной цикл может вызывать лаги??
for each integer a from 1 to 10
for each integer b from 1 to 44 к примеру...


 

SirNikolasДата: Воскресенье, 08 Июля 2012, 13:28:28 | Сообщение # 20
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Kam1kazy, если ты этой точке присвоишь новое значение, то сможешь.
Quote (Ty3uK)
вот функция от Николаса
Да ну, просто метод подгрузки, суть та же, что и с постановкой.

Добавлено (08 Июль 2012, 13:28:28)
---------------------------------------------
Я, кстати, писал Player(15), т. е. NEUTRAL_PASSIVE. :)


 

NaturekidДата: Воскресенье, 08 Июля 2012, 13:39:56 | Сообщение # 21
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Quote (SirNikolas)
Kam1kazy, если ты этой точке присвоишь новое значение, то сможешь.

А если нет????
То есть триггер Spawn creeps каждый раз создающий крипов в 1 точке должен каждый раз иметь разную переменную для очищения что ли??????????????????


 

Ty3uKДата: Воскресенье, 08 Июля 2012, 17:04:32 | Сообщение # 22
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
ну у меня нейтрал-агрессив (:

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Воскресенье, 08 Июля 2012, 17:32:38 | Сообщение # 23
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Когда ты пишешь Set Point = (Position of (Triggering unit)), ты как раз и присваиваешь значение.

 

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

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