что жрет больше памяти?юнит или эффект
|
|
Dreii | Дата: Среда, 16 Марта 2011, 06:09:46 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Что жрет больше памяти при создании ну и офк с последующим удалением. CreateUnit() или AddSpecialEffect() ??
Сообщение отредактировал Dreii - Среда, 16 Марта 2011, 06:11:37 |
|
|
|
lawson | Дата: Среда, 16 Марта 2011, 08:14:30 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Юнит.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Среда, 16 Марта 2011, 08:17:14 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| lawson, 100% информация?
|
|
|
|
lawson | Дата: Среда, 16 Марта 2011, 08:21:23 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| А ты сам подумай если юнит создаеться ему нужно прописать здоровье, игрока которому он создаеться, место где он создаеться.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Среда, 16 Марта 2011, 08:21:42 |
|
|
|
Manko_O | Дата: Среда, 16 Марта 2011, 08:27:17 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 296
Награды: 0
Репутация: 23
Блокировки:
| Dreii, Конечно юнит. В нём же больше данных. Если тебе надо двигать какойто спецэффект,поднимать в воздух и тд . То придётся юнита. Удали в нём всё ненужное(текст,описание,атаку и т.д) он будет меньше брать памяти. А если тупо в точке создать, и потом удалить, используй просто спецэффект.
|
|
|
|
Dreii | Дата: Среда, 16 Марта 2011, 08:43:52 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Manko_O, Ок,ну я и делал эффектами)) Спс вам)
|
|
|
|
Ajaccio | Дата: Среда, 16 Марта 2011, 09:17:27 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Интересно... Логика у отписавшихся выше, конечно, прослеживается, но тогда, согласно ей, число 0 занимает меньше места, чем 1000000? Оба типа (юнит и эффект) образуются от типа handle -> вполне возможно на них выделяется одинаковое количество памяти. Но если говорить о работе компьютера в целом, то юнит всё равно должен быть более затратный.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
[DUОS] | Дата: Среда, 16 Марта 2011, 10:09:48 | Сообщение # 8 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Больше памяти расходует боевая единица. Эффект - лишь один её параметр (модель).
|
|
|
|
[Robert] | Дата: Среда, 16 Марта 2011, 10:12:06 | Сообщение # 9 |
4 уровень
Группа: Проверенные
Сообщений: 96
Награды: 0
Репутация: 207
Блокировки:
| [DUОS], А размер не параметр?
|
|
|
|
[DUОS] | Дата: Среда, 16 Марта 2011, 10:15:47 | Сообщение # 10 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| [Robert], У эффекта есть скорость перемещения? У эффекта есть карта путей? Ну вот.
|
|
|
|
Ajaccio | Дата: Среда, 16 Марта 2011, 10:48:42 | Сообщение # 11 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Протестировал, для этого создал 400 эффектов, затем 400 юнитов. Использовал одну модель. Результат смотрел по диспетчеру задач: 100480 КБ было затрачено при игре с эффектами и более 400000 КБ с юнитами... А значит юнит действительно требует больше памяти и типы effect и unit имеют разную структуру. Я то думал Blizzard используют одну таблицу для всех объектов, а неиспользуемые параметры (скорость перемещения эффекта) просто обнуляют.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
Dreii | Дата: Среда, 16 Марта 2011, 10:52:39 | Сообщение # 12 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Ajaccio, епт,почтив 4 раза больше.будем юзать эффекты
|
|
|
|
Ajaccio | Дата: Среда, 16 Марта 2011, 10:57:10 | Сообщение # 13 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Хм, какой код? У меня даже на запустилась игра... Code library CREATOR initializer INIT
#include "cj_types.j"
void INIT () { int i = 0 loop exitwhen (i > 400) //AddSpecialEffect("Units\\Other\\Rexxar\\Rexxar.mdl", -1980.0, 1882.0) CreateUnit(Player(0), 'opeo', -1980.0, 1882.0, 0.0) //Модель раба сменил на Рексара. i++ endloop }
endlibrary
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
Dreii | Дата: Среда, 16 Марта 2011, 11:03:48 | Сообщение # 14 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Ajaccio, может из-за цикла?А он просто наставил в Редакторе
|
|
|
|
Ajaccio | Дата: Среда, 16 Марта 2011, 11:07:59 | Сообщение # 15 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Ха, кстати попробовал снова, результат стал 110000 КБ и 200000 КБ для эффектов и юнитов соответственно! И ещё раз и теперь уже 182000 КБ и снова около 400000 КБ... Конечно там свои могут быть причуды... Возможно цикл обрывается из-за большого числа и его так контузит. БТВ, для 50 юнитов/эффектов разница действительно значительно уменьшается, около 15000-40000 КБ. Впрочем выигрыш от использования эффектов остаётся и чем больше эффектов, тем больше выигрыш...
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|