|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.09.2013, 10:51 | #11 | ||
Форумчанин
Регистрация: 11.01.2013
Сообщений: 149
|
Цитата:
Цитата:
Может это и чушь, но это моя чушь и я ее никому не отдам.
|
||
17.09.2013, 11:32 | #12 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Их может связывать только то, что они (игроки, предметы, лежащие на карте, другие динамические объекты) будут десятки раз в секунду проверяться на столкновения, и прочие условия.
Другое же дело, предметы в инвентаре, или на складе. Они лежат себе и лежат, их ни кто не трогает и на карте их нет. Их не надо проверять десятки раз в секунду... хотя, и здесь можно понапридумывать, например, если надо чтобы предмет в сумке был активен и что-то делал Но это уже другой вопрос.. А так, у всех объектов, что на карте, есть общее свойство - они на карте, и их надо проверять. Если использовать общую структуру, будут такие приколы, как "хп у предмета".. или если что-то добавить персонажу, то такое же свойство автоматически становится доступно и предмету на карте. Такой же метод я нашел в исходниках Quake 3 Arena, когда мод писал там общая база для всех "сущностей" на карте, и не важно, персонаж это, предмет, или летящая ракета. Видимо в таком методе есть что-то полезное. |
17.09.2013, 11:43 | #13 | ||
Форумчанин
Регистрация: 11.01.2013
Сообщений: 149
|
Цитата:
Цитата:
Может это и чушь, но это моя чушь и я ее никому не отдам.
|
||
17.09.2013, 13:54 | #14 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Но ведь обратиться по адресу быстрее, чем через индекс массива, причем еще если этих массивов несколько. Разве нет?
|
17.09.2013, 15:34 | #15 | |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Артэс, по-моему ты фигней маешься) Я думаю так, потому что:
1) ты не планируешь ничего распараллеливать, поэтому тебе не нужно заботиться о "ложном разделении", перебрасывании кэша и прочих артефактах 2) тебе не нужно, чтобы объекты разных типов попадали в одну кэш-линию 3) особенность реализации должна быть сокрыта от пользователя, а значит поменять ее в случае чего не составит проблем 4) ты не уверен, что именно это будет узким местом в твоем коде. Я считаю, что тебе прежде чем задумываться обо всем этом, надо для начала просто написать какой-нибудь прототип и его опробовать. Лишняя оптимизация на этапе проектирования лишь вредит. Все равно будешь сто раз все переписывать) Цитата:
|
|
17.09.2013, 18:28 | #16 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Указатели скорее для большого количества данных большого объёма, которые надо както связать, тогда выгода будет тем ощутимее, чем больше количество данных и их объём.
do not use your brain
|
17.09.2013, 23:10 | #17 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Кащей,рекомендую вам почитать что нибудь из цикла "дата ориентированное программирование".
|
17.09.2013, 23:12 | #18 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Как вы получите адрес конкретного элемента группы? Внезапно, вы используете указатель + смещение. Чем и является индекс. Поэтому, забейте и не парьтесь. Оптимизиции такого уровня - это задача для компилятора, а не для программиста. |
|
18.09.2013, 19:03 | #19 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Я ничего такого не нашол.
do not use your brain
|
19.09.2013, 20:32 | #20 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Гауссово распределение, С# | alik98 | Помощь студентам | 0 | 24.02.2013 17:37 |
распределение по матрице | mazak | Общие вопросы C/C++ | 0 | 19.08.2012 11:49 |
Распределение в памяти в СИ | marsh123 | Общие вопросы C/C++ | 1 | 17.11.2011 16:35 |
Экспоненциальное распределение на C++ | RayGGG | Фриланс | 1 | 28.02.2011 14:39 |
Экспоненциальное распределение на C++ | RayGGG | Помощь студентам | 0 | 25.02.2011 18:13 |