![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание движка игры [Delphi, Windows]
netboy © (2006-03-31 01:46:00)Решил сделать 2D движок. Написал процедуры для работы с окном OpenGL. Надо сделать процедуры для работы со спрайтами.
Где можно достать материал по спрайтам (загрузкой, уничтожением, анимированием ...) в OpenGL ?
Cash (2006-10-07 18:17:00) [1]@!!ex © (07.10.06 16:24) [47]:
Блин, в ВУЗе бы не учился, я б этого не знал! (Хотя дело спорное, мож и знал бы)
В ВУЗах еще проходят методы Хаффмана и LZ кодирования. А реализовать
подобное, кроме лаб и курсовой, не получилось ни у кого.
@!!ex (2006-10-07 16:24:00) [2]
> Belorus © (07.10.06 16:15) [46]
Типа идея двусвязного списка это что-то новое и сверхоригинальное?
Его вроде даже в ВУзах проходят.....
Belorus (2006-10-07 16:15:00) [3]Кетмар ты Тормоз. Человек описал метод в двух словах. Думаю если понадобится - объяснит подробнее. С чего это он вдруг тебе станет свои сырцы отдавать... Я бы тоже не дал. Нужно будет сам напишешь, была бы идея, а реализовать - дело простое.
Ketmar (2006-10-03 12:20:00) [4]слив защитан.
Cash (2006-10-03 08:01:00) [5]Ketmar © (03.10.06 03:15) [42]:
Видать ты очень занятой человек. Я ж сказал, что не намерян выделятьсяи
говорить что либо подобное [43]. Мне не надо, чтоб кто либо верил, что
я "круче борланда". А еще мне не охота флудить эту ветку тупыми
разъяснениями. Так что я это балабольство закончу.
(ведь скажи же, я тупо изъясняюсь, тупо - значит так, чтобы и бабушка
на завалинке понять смогла)
Ketmar (2006-10-03 03:16:00) [6]я понимаю, что сказать "я круче борланда" -- это рулкз. только неплохо бы доказывать. иначе -- см. [42]. %-)
Ketmar (2006-10-03 03:15:00) [7]да мне, вообще-то, плевать, как оно там у тебя организовано. но без кода и бенчей -- ты уж извини, но все твои слова -- трындёж.
Cash (2006-10-02 18:45:00) [8]Ketmar © (02.10.06 17:49) [36]:
Блин, да не выпендриваюсь я, :( вырос уже!
Я дал теоретическое направление мысли, мне было набо организовать
лист, так, чтобы я смог и как стек его юзать и как очередь, и чтоб
траты на перемещение по индексам были минимальны. И после этапа
прагматики вышла вот такая монстра. :)
Мне было надо, я сделал. Если кому не надо, ну да чтож с ними поделать то?... :)
@!!ex спросил о методе, я дал наколку, и усё!
Ketmar (2006-10-02 18:01:00) [9]>[39] @!!ex(c) 2-Oct-2006, 17:59
>Я тут пару раз ого-го как лоханулся.
не ты один. %-) многие получали "прочистку". а я сколько раз... %-)
@!!ex (2006-10-02 17:59:00) [10]
> Darth (02.10.06 17:54) [37]
Да не жестокие.
Не парься.
Со всеми бывает.
Я тут пару раз ого-го как лоханулся. Ну и фиг с ним. Зато опыта и знаний набрался.
Ketmar (2006-10-02 17:58:00) [11]"добренькие" живут на других форумах. а здесь народ зубастый -- за глупость запинает. не взирая на личности. за что я и люблю сей форум.
Darth (2006-10-02 17:54:00) [12]Мда, чтоже вы такие жестокие-то? С чего Вы вообще взяли, что я весь из себя такой зелененький ?
Ketmar (2006-10-02 17:49:00) [13]"нет ручек -- нет и шоколадки" (ц)
пока нет кода -- всё это не более, чем трепёж в лунную ночь за пивком. %-)
@!!ex (2006-10-02 17:48:00) [14]Cash © (02.10.06 16:32) [32]
Было бы интересно посмотреть.
Про то как реализован список в дельфе ничего сказать не могу, стараюсь не пользоватся стандартными классами, поскольку приходится менять язык порграммирования часто и не хочется привыкать к каким то классам, которые есть только в конкретном языке или реализации.
1) Было бы интересно посмотреть на код
2) не вижу смысла в двухсвязном списке. Поскольку итерации в данном случае идут только в одноу сторону. удаление? В данном случае односвязный список работает отлично.
3) Список всегда работает медленнее чем вектор лежащей в одном кусе памяти, поскольку на одну меньше операция обращения к памяти. Хотя, конечно, разница в скорости минимальная и зависит от конкретной реализации.
4) Единственный минус вектора - перемещение памяти при изменении его размеров, лист по понятным причинам от такой проблемы избавлен.
Но есть способы серьезно уменьшить затраты вектора на выделение памяти, поэтому преимущества листа сомнительны.
Cash (2006-10-02 17:42:00) [15]С кодом обломаю, по жесткому :))) я жадный, до жути! :)))
А на счет тестов - 10 млн. добавлений и засекаем время. :)
Сперва там, потом тут, засекал по RDTSC, на преиод работы родного листа
проявлялась аномалия активности, мож конечно и другие процессы с
завидной постоянственностью начинали грузить камень, но я склонился к
тому, что это родной лист тратит драгоценное время. Там разница на
1024 добавлениях была всего в ~10%, то же самое и для удалений, а при
проходе по индексам мой лист тратил на переход к соседниму индексу
около 78-80% от времени родного листа.
Ketmar (2006-10-02 17:04:00) [16]>[32] Cash(c) 2-Oct-2006, 16:32
>работает быстрее, чем стандартный.
код и бенчмарки в студию. %-)
Cash (2006-10-02 16:32:00) [17]@!!ex © (02.10.06 07:02) [29]:
> Возможно это не лучший подход, но лучше я не знаю.
> Буду рад, если подскажете.
Мне вон TList нравится юзать, гы-гы-гы, но только не тот, что с Classes,
а тот, что я сам спаял. Чет он у меня при тех же операторах и конструкции
работает быстрее, чем стандартный. Структура на основе списка,
двусвязная, с добавлением и удалением в трех вариантах (FIFO,LIFO,
по индексу) и красивый и быстрый проход по индексам.
@!!ex (2006-10-02 14:47:00) [18]
> Ketmar © (02.10.06 14:10) [30]
Упс.. Неподумал... Каюсь.... Исправлюсь.
Ketmar (2006-10-02 14:10:00) [19]>[29] @!!ex(c) 2-Oct-2006, 07:02
оставь его в покое. он же сам признался, что ему легко не знать основы. зачем усложняешь людям жизнь?
@!!ex (2006-10-02 07:02:00) [20]>>Darth (02.10.06 01:03) [25]
Объяняю.
В данном случае(как вы могли заметить) используется не массив, а указатель на массив.
Можно было сделать просто указатель на TSprite, но в этом случае обращение к N-ому элементу было бы геморным.
Указатель же на массив позволяет работать с данными как с обычным массивом.
Возможно это не лучший подход, но лучше я не знаю.
Буду рад, если подскажете.
P.S.
array of TSprite
Это не лучший подоход, это ИМХО отстоейнейший подход.