Показать сообщение отдельно
Старый 13.06.2006, 02:43   #6
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Радость

Сообщение от impersonalis
впринципе ЛЮБУЮ систему модно одномерным описать, только враппер работы с этим удовьствием будет работать ещё медленне умножений. А скорость умножений, кстати, не окажет уж очень сильного искажения ФПС. В общем как с ГОТО - толку мало, но некторые юзают. ИМХО.
я так и думал, что у нас получится спор... попробую выспорить свою точку зрения, хотя о стилях проганья как и о вкусах не спорят.

конечно если при любом вычислении юзать постоянно функцию поиска то ессно метод мастдай.

Многоуровневая статичная система: для каждого элемента оставляем поле для НОМЕРА элемента родителя в массиве.

Многоуровневая динамичная система: в случае фрагментации элементы НЕ двигать + делать поле для номера родителя.

Многоуровневая динамичная система с неограниченным количеством "детей":
1. сделать количество свободных элементов для максимально возможного количества детей.
2. заюзать дополнительный двумерный массив а в первом писать номер индекса второго массива где искать номера детей.

конечно все можно и через одномерный массив юзать, но давайте не будем кривить логикой типа если не черное значит белое... юзать одномерный массив нерентабельно, нагрузочно (всякими системами переадресации и возможно поиском)... трехмерные и выше слишком накладно при вычислениях адреса элемента, хоть на сегодняшний день команда LEA выполняется за один такт и при этом в любом конвейере, но не думаю что компилятор заюзает ее при вычислении адреса трехмерного массива... опять-же зависит от задачи, если не часто обращаешься к элементам, то флаговая промышленность страны не обделит, юзайте массивы, а если хранить координаты и свойства точек трехмерной модели (а вдруг и четырехмерной) и делать всякие трансформации, повороты навороченные смещения текстур и др. то лучше заюзать двумерные...

конечно это не добавит 20 или 30 ФПС, но когда борятся за каждый ФПС, то это поможет сэкономить пару...

__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием