_Duke
offline
Опыт:
611Активность: |
Вопрос по использованию хеш-таблицы.
Доброго времени суток дамы и господа.
Итак, насколько я понимаю, для сопоставления какой либо переменной с каким либо объектом в варкрафте сейчас используются хеш таблицы, исходя из этого появляется ряд вопросов.
Для реализации одной из моих идей мне необходимо чтобы к юниту было привязано 4-5 числовых значений, таких юнитов в игре предполагается около 3-4х сотен. Обращение к переменным будет как периодическое (~ раз в 30 секунд) так и ивинтовое (при применении заклинаний в определённом радиусе e.t.c)
Вопросы: Насколько рентабельно реализовывать подобную систему? Не вызовет ли хранение такого количества переменных и обращение к ним жутчайших лагов или зависаний? Одним словом годится ли использование хеш-таблицы для работы с данными в таких масштабах? |
17.03.2013, 12:29 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,037Активность: |
используй структуры, люк |
17.03.2013, 12:37 | #2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,167Активность: |
Hate:
Нет, нехрена страшного не будет от таблицы, но будет от юнитов.... |
17.03.2013, 12:47 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Duke
offline
Опыт:
611Активность: |
Hate:
Буду признателен если расскажешь подробнее или кинешь ссылку на статью по структурам. Ибо не очень понял, что ты имеешь ввиду. Это как альтернатива хеш-таблице или как правильное её использование?
Вопрос то у меня возник именно потому что ранее я подобное не реализовывал и с хеш-таблицами не работал. Вот мне и захотелось узнать есть ли смысл вообще в это соваться, чтобы реализовать описанные выше потребности.
_Duke добавил:
quq_CCCP:
В смысле? Разве 400 юнитов на карте это слишком много? В разных зомби сурвайвлах по моему даже ещё больше бывает. |
17.03.2013, 12:51 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,037Активность: |
про структуры описано в документации по vjass, по хештаблице есть статья на сайте |
17.03.2013, 12:52 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Duke
offline
Опыт:
611Активность: |
Hate:
А, понял. Спасибо. Ну по хештаблице я статью нашёл ещё до того как тему создал. Значит таки есть смысл пытаться реализовать через неё. vjass звучит для меня несколько пугающе потому как очень много курить придётся. Теперь меня больше настораживает насчёт юнитов. Конечно кол-во юнитов в 400 вовсе не обязательно должно быть достигнуто во время игры, но я предполагал лимитировать кол-во юнитов на карте именно этим значением, потому что был уверен что 400 движок спокойно прожуёт. Если нет, тогда вопрос, с каким максимально кол-вом юнитов на мапе не будет сильно лагать?
Чуть подробнее опишу свои запросы. Предполагается, что кол-во юнитов на карте будет динамическим. На старте это будет что-то около 60-80 юнитов, за каждым из которых должно быть закреплено 4 переменных каждая из которых может принимать значение от 0 до 100. Затем эти злобные крестьяне могут умирать или размножаться (и соответственно за каждым новым юнитом тоже должны закрепляться эти значения, а умерший юнит должен удаляться из игры вместе со всеми значениями). И я подумал, что для того чтобы их не наплодилось через чур много, стоит выключать их размножение при достижении какого-то лимита. Вот я и пытаюсь выяснить, какие цифры в таком случае будут оптимальными. Простите уж за назойливость. Отредактировано _Duke, 17.03.2013 в 13:15. |
17.03.2013, 13:01 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,037Активность: |
по ~60 на игрока, а там уже по ресурсам компьютера и офигенности моделек
vjass не так страшен как кажется, если есть желание, то ничего сложного нету, тем более что документации полно, знающих хватает. |
17.03.2013, 13:09 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,167Активность: |
_Duke:
Если их всех увидит 1 игрок, или грубо говоря они будут у него одного - то это однозначно дикие лаги,... Потом любые эффекты на такой толпе, нехорошо, смысл такую толпу делать? |
17.03.2013, 13:14 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Duke
offline
Опыт:
611Активность: |
Нет, всех разом один игрок вряд ли увидит. И эффекты на всех разом накладывать я не собираюсь. 400 это предполагаемый лимит суммарного населения деревень рандомно раскиданных на карте. ^_^
Спасибо за ответы. |
17.03.2013, 13:19 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
при большом количестве данных хеш таблица > массива |
17.03.2013, 14:39 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|