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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Память
Память
SunCreepДата: Четверг, 11 Августа 2011, 04:56:02 | Сообщение # 1
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Итак,у меня несколько вопросов о памяти,которая выделяется для всех событий,условий,действий в триггерах.
1)Что лучше,иметь 10 событий типа юнит умирает,или 1 событие каждые 0.1 и сравнение если юнит мёртв.\
2)Если изначально триггер выключен,а я его включаю непосредственно в игре,то память выделяется тогда,когда я включаю его в первый раз?
3)Лучше оставлять всё в форме GuI,или переводить в код?
4)Требуется ли перед удалением,обнулять глобальные точки?(так и не понял)
 

FkoFFДата: Четверг, 11 Августа 2011, 05:06:01 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (SunCreep)
1)Что лучше,иметь 10 событий типа юнит умирает,или 1 событие каждые 0.1 и сравнение если юнит мёртв.\

1 событие офк.
Quote (SunCreep)
2)Если изначально триггер выключен,а я его включаю непосредственно в игре,то память выделяется тогда,когда я включаю его в первый раз?

нет, при инициализации триггера.
Quote (SunCreep)
3)Лучше оставлять всё в форме GuI,или переводить в код?

Если не оптимизируешь код - разницы никакой.
Quote (SunCreep)
4)Требуется ли перед удалением,обнулять глобальные точки?(так и не понял)

глобальные не надо обнулять, надо только удалять через call RemoveLocation(udg_name)


 

[DS]Дата: Четверг, 11 Августа 2011, 11:01:57 | Сообщение # 3
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
"2)Если изначально триггер выключен,а я его включаю непосредственно в игре,то память выделяется тогда,когда я включаю его в первый раз?"
все триггеры инитятся в самом начале.

Тему клоз, уже можно наверно.


 

SunCreepДата: Четверг, 11 Августа 2011, 12:22:47 | Сообщение # 4
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
В таком случае,если я не ошибаюсь есть программы по оптимизации кода,или я брежу?
 

[DS]Дата: Четверг, 11 Августа 2011, 12:23:23 | Сообщение # 5
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
джнгп

 

SunCreepДата: Четверг, 11 Августа 2011, 12:40:35 | Сообщение # 6
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
[DS], эм,а она будет работать,на тот когд,который получится в результате перевода GuI`шного триггера в код?Если да,то расскажите как это делается)
 

[DS]Дата: Четверг, 11 Августа 2011, 12:47:09 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
да.
Просто сохроняешь карту в джнгп и он оптимизирует твою карту


 

SunCreepДата: Четверг, 11 Августа 2011, 12:56:17 | Сообщение # 8
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Хм,что же,вы мне очень помогли.Надо будет скачать jnpg и переводить все свои триггеры в код.
 

lawsonДата: Четверг, 11 Августа 2011, 13:43:57 | Сообщение # 9
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (|DS|)
Просто сохроняешь карту в джнгп и он оптимизирует твою карту

Хехехех


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

[DS]Дата: Четверг, 11 Августа 2011, 13:56:34 | Сообщение # 10
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
не шаришь

Добавлено (11-08-2011, 13:56)
---------------------------------------------
SunCreep, но все равно не избавишься от гуишности


 

SunCreepДата: Четверг, 11 Августа 2011, 14:04:19 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
[DS], мне важно не избавится от утечек и прочей белиберды,а по максимуму уменьшить загрузку карты и лаги,связанные с излишками памяти.
 

[DS]Дата: Четверг, 11 Августа 2011, 14:11:50 | Сообщение # 12
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
ну тогда после, оптимизируй еще и тулой векса

 

FkoFFДата: Четверг, 11 Августа 2011, 14:36:59 | Сообщение # 13
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (SunCreep)
[DS], мне важно не избавится от утечек и прочей белиберды,а по максимуму уменьшить загрузку карты и лаги,связанные с излишками памяти.

для этого нужно следующее:

Перейти с точек на координаты (!!!) - колоссально снизит нагрузку на систему в момент движения снарядов
Оптимизировать все конструкции if\then\else (!!!) - каждое условие - отдельная функция - а должно быть ноль функций
Оптимизировать все системы, убрав циклы и if\then\else (!!!) - перевод гуевых констрункций на адекватные системы так же снижает нагрузку на систему, да еще и увеличивает качество производительности.

Помимо этого: все триггеры не имеющие внешнего доступа перенести на локальные - снизит количество глобальных переменных, уже плюс.

Ну и на загрузку карты влияет количество находящихся изначально на карте объектов.

А, да, тулавекса и виджетайзер хорошенько снижают скорость загрузки даже самой оптимизированной карты. Так же в вексе есть функция AntiBJ - заменяет некоторые бж функции их аналогами, вдвое снижая нагрузку на систему, вызванную такими функциями.


 

SunCreepДата: Четверг, 11 Августа 2011, 14:50:48 | Сообщение # 14
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Quote (FkoFF)
Перейти с точек на координаты

А как же ими пользоваться?Есть возможность отсчитывать не от угла карты,а от точки?
Quote (FkoFF)
Оптимизировать все системы, убрав циклы и if\then\else (!!!) - перевод гуевых констрункций на адекватные системы так же снижает нагрузку на систему, да еще и увеличивает качество производительности.

А как тогда двигать тех же 35 дамми,если не циклом,а отрядом и ифзеном искать цели?
Quote (FkoFF)
Помимо этого: все триггеры не имеющие внешнего доступа перенести на локальные - снизит количество глобальных переменных, уже плюс.

Внешний доступ?Я не очень понял тебя.Ну на данный момент у меня 6 героев,следовательно около 15-18 триггерных скилов + системы.Для всего этого создано 234 функции,273 триггера,229 переменных из них,наверное половина массивны.


Сообщение отредактировал SunCreep - Четверг, 11 Августа 2011, 14:52:14
 

vov68Дата: Четверг, 11 Августа 2011, 15:46:03 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
Quote (SunCreep)

А как же ими пользоваться?Есть возможность отсчитывать не от угла карты,а от точки?

там есть конвертация, то есть точку можно представить как такая-то координата по х и по у

Quote (SunCreep)
двигать тех же 35 дамми

звучит глупо, но может сначало в РО пооптимизировать и сократить количество дамми...
Quote (SunCreep)
234 функции,273 триггера,229 переменных

посмотреть бы твои переменные на предмет оптимизации: например, точка - должно быть две-три штуки, и не более.


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

SunCreepДата: Четверг, 11 Августа 2011, 16:00:25 | Сообщение # 16
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
vov68, ну оптимизацией я,как видишь только начал заниматься.Точек порядка 40,для каждого триггера свои переменные,я так изначально делал.Теперь буду паользовать массивы.
Эм я не понял.То есть я должен установить точку,далее конвертировать её в координату,и после двигать?
 

FkoFFДата: Четверг, 11 Августа 2011, 16:01:51 | Сообщение # 17
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (SunCreep)
А как же ими пользоваться?Есть возможность отсчитывать не от угла карты,а от точки?

ээээ.. GetWidgetX, GetWidgetY - возвратят координаты x\y объекта (итема, юнита, разрушаемого), GetSpellTargetX,GetSpellTargetY - х\у координаты события "приводит способность в действие", все триггеры берущие точки для операций имеют аналоги на координатах, к которым, кстати, идет запрос уже из функций на точках.

Quote (SunCreep)
А как тогда двигать тех же 35 дамми,если не циклом,а отрядом и ифзеном искать цели?

Хэш таблицы, уникальные таймеры.

Quote (SunCreep)
Внешний доступ?Я не очень понял тебя.Ну на данный момент у меня 6 героев,следовательно около 15-18 триггерных скилов + системы.Для всего этого создано 234 функции,273 триггера,229 переменных из них,наверное половина массивны.

короче внешний доступ это если на триггер есть ссылка из вне, допустим, на добавление события или он\офф. Но последнее имеет право на существование только на гуях, на джасс используются таймеры.
234 функции,273 триггера, <--- бред, триггер классически состоит как минимум из 3 функций, минимум вообще - из двух. Условия на гуи - каждое отдельное уже функция. Так что функций при таком количестве триггеров должно быть раз в шесть больше.

Quote (vov68)
там есть конвертация, то есть точку можно представить как такая-то координата по х и по у

Сам объект "точка" и есть два реала - x и y. Так же есть параметр Z но он не включен в точку, его вычисляют из имеющихся координат.

Quote (vov68)
звучит глупо, но может сначало в РО пооптимизировать и сократить количество дамми...

У меня с моей системой используется всего один дамми для всех снарядов.


 

SunCreepДата: Четверг, 11 Августа 2011, 16:08:08 | Сообщение # 18
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Quote (FkoFF)
У меня с моей системой используется всего один дамми для всех снарядов.

Лол,интересно))

Добавлено (11-08-2011, 16:08)
---------------------------------------------
А,блин я,наверное,не о том подумал.
FkoFF, ты имел в виду,что у тебя классический дамми без модели,а ты к нему в origin/chest крепишь эффекты/модели?

 

[DS]Дата: Четверг, 11 Августа 2011, 16:08:30 | Сообщение # 19
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Хотел спросить GetWidgetX/Y и GetUnitX/Y чем отличаются?

 

SunCreepДата: Четверг, 11 Августа 2011, 16:08:57 | Сообщение # 20
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Quote (vov68)
звучит глупо, но может сначало в РО пооптимизировать и сократить количество дамми...

у меня не 35 дамми в РО,а в скиле.Есть скил в форме новы,где я использую 35 даммиков.
 

FkoFFДата: Четверг, 11 Августа 2011, 16:10:28 | Сообщение # 21
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (|DS|)
Хотел спросить GetWidgetX/Y и GetUnitX/Y чем отличаются?

Первые быстрее последних.

Quote (SunCreep)
FkoFF, ты имел в виду,что у тебя классический дамми без модели,а ты к нему в origin/chest крепишь эффекты/модели?

Да, он же кастует спеллы.

Quote (SunCreep)
у меня не 35 дамми в РО,а в скиле.Есть скил в форме новы,где я использую 35 даммиков.

И оно на слабом компе будет тормозить, я гарантирую это.


 

[DS]Дата: Четверг, 11 Августа 2011, 16:12:16 | Сообщение # 22
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
FkoFF, Спс, терь понял.

 

SunCreepДата: Четверг, 11 Августа 2011, 16:16:36 | Сообщение # 23
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Quote (FkoFF)
234 функции

я видимо наврал,это,наверное,типы функций.Я смотрел через менеджер объектов.Условий:337.Хм,не,всё равно как-то мало.

Добавлено (11-08-2011, 16:16)
---------------------------------------------
Quote (FkoFF)
И оно на слабом компе будет тормозить, я гарантирую это.

Ну у меня комп не такой уж слабый,но всё равно воздействие ощущается.
Хм.Ты можешь выложить,ну не знаю,код хотя бы,как ты установишь координату кастера(х к примеру) и после установишь координаты вокруг х.


Сообщение отредактировал SunCreep - Четверг, 11 Августа 2011, 16:19:19
 

lawsonДата: Четверг, 11 Августа 2011, 16:24:28 | Сообщение # 24
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (FkoFF)
Первые быстрее последних.

Еще widget используется для любых событий с юнитами, предметами и декорациями.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Четверг, 11 Августа 2011, 16:24:46
 

SunCreepДата: Четверг, 11 Августа 2011, 17:19:07 | Сообщение # 25
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Хм,а большое кол-во переменных сильно вредит?)
 

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

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