Форум: "Игры";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];
ВнизЧем DelphiX хуже Direct API. (Это не вопрос) Найти похожие ветки
← →
Ev_genus (2002-05-10 12:41) [0]Хочу дать возможность высказаться всем желающим, дабы прекратить постоянные повторения вопроса по этой теме в разных формулировках.
Начал я год назад писать свою "игру" (демка недеделанная, но "игрой" называть её приятнее) в Delphi с помощью DelphiX. Вдохновлённый разными демками и сэмплами я начал воять. Всё хорохо и управление устраивает и графика класс. Но тут решил я проверить свой движок на скорость (а за одно и на прочность), зарядил в него 1500 объектов и увидел все прелести покадрового слайд шоу (3 fps). Может это движок тормозит,- подумал я. Взал и отрубил вывод спрайтов. О чудо: скорость взлетела до потолка. И тут я задумался... Пошел с горя на базар и купил книжку по Direct API. Три дня помучился, зато теперб 2000 спрайтов на экране, а мне хоть-шо - 50 fps. А главное: я понял как всё это работает до мелочей и подробностей.
Вот и сказочке конец, а кто слушал .......
PS Но у Direct API есть и недостатки. Например Alpha-Blending. Там его просто нет, поэтому нужно писать самому (на ассемблере) или взять де то.
← →
ION T (2002-05-10 20:18) [1]А альфаблендинг выдрать из DelphiX:))
← →
Автор (2002-05-10 21:17) [2]Я пытался. Не получилось. Если заешь как то поделись опытом.
← →
ION T (2002-05-11 10:50) [3]Я тоже не пытался (надобности не было) Но если приспичит, то думаю можно....
← →
HellTrooper (2002-05-16 11:38) [4]Хм... Альфа блендинг делается довольно быстро даже без ДХ :)Главное знать формулу :)
Я тоже предпочитаю API имхо он проще и понятней (особенно когда читаешь СДК на сях, и пишешь на дельфях %-) и такое случается) хотя из ДелфиХ использую обычно таймер и TDXPlay(В СДК я до этого места недошёл :)). Но я думаю всё же, что тут приходится выбирать, как в давнешние времена, высокий или низкий уровень.
← →
Владимир Васильев (2002-05-16 14:03) [5]> Ev_genus вы не правы с fps.
UnTitledRTS c отключённым AI (поиск врагов , обработка столкновений и атака ) - только вывод графики - ведь именно про это идёт речь
- 1500 Sprites + ScrollBackGraund ~ 40fps.
Можете проверить сами.
http://www.gamedev.narod.ru/index.htm ( к сожалению почти годичной давности, новый код закрыт) .
← →
GL (2002-05-17 16:52) [6]Вообще писать игры (да и просто приложения, использующие графику) с применением компонентов - это ОТСТОЙ. Все нормальные игры написаны на чистом Win API и используют функции непосредственно из OpenGL или Direct3D. При этом скорость существенно возрастает, да и не возникает таких проблем, как например отсутствие Alpha Blending в каком-то компоненте.
P.S. Наилучший вариант для программирования графики - MSVC++ & WinAPI.
← →
Урб (2002-05-18 02:51) [7]Для GL.
Ты находишся на: http://delphi.mastak.ru/
Тут обсуждается как делать игры на DELPHI.
Я понимаю, что 99% игр пишутся на С, С++, и есть форумы где Сишники обсуждают, как круто писать игры на С++. И этих форумов на много больше, чем тот, на который ты читаешь сейчас.
Пожалуйста, перейди туда и посться там.
И не думал наезжать. ;) Честное слово.
А я пока еще верю, что найдется человек чтобы дополнить список из: Эйдж оф Вонды и Сьеджа оф Авалона... ;)
← →
Автор (2002-05-20 12:09) [8]Уважаемый Владимир Васильев. На счёт fps: Конкретные числа зависят от аппаратного обеспечения (железа). Я только хотел показать разницу.
Сишникам. На Delphi игрушки не пишут потому, что на delphi можно писать другие вещи и зарабатывать намного большие деньги. А разговоры типа Си круто всё остальное - отстой мне и слушать не хочется (не аргумментированый трёп).
← →
Aspid_Papa (2002-05-20 15:14) [9]Почитал. Спасибо.
← →
Сергей Чурсин (2002-09-07 19:40) [10]2Ev_genus & All
было бы интерестно, почитать еще про возможности/невозможности в DelphiX ? Не только касательно скорости.. Например, там есть возможность прямого доступа к поверхности ? (Lock->Unlock).. И возможность использовать прямые функции DirecX Api к объектам DelphiX ? (ну как Form.Handle - это Hwnd :) )
2GL
Полностью одобряю сказанное Урб-ом.
← →
artemiy (2002-09-07 23:17) [11]Ev_genus ©
Извините........а можно посмотреть ваш движок на ДельфиХ(который тормозит) ???
← →
Pasha676 (2002-09-10 10:52) [12]Про двухмерную графику ничего не скажу. Скажу про трехмерную. Использую самый препоганый вариант в плане скорости - DelphiX, 3DRM интерфейс (вот это тормоз так тормоз, но уж больно просто конвентируются в нем из 3DMAX объекты), есть полупрозрачности, наверное даже более 6000, а то и 7000 полигонов, точно не смотрел, оконный режим - ну и ничего. Свои 70 фреймов в секунду делает. Мне хватает.
Да я знаю, что если писал бы на Direct API, было бы лучше, да я знаю что если б писал на IDirectDraw интерфейсе - было бы лучше. Даже может когда-ниб и перепишу. Но скорость разработки на DelphiX, имхо, выше. А это далеко не последний фактор, заказы надо делать в срок.
← →
Крупье (2002-09-10 11:10) [13]После выхода каждой новой версии приходится дожидаться появления заголовочников, а при юзании DelphiX-еще и надо ждать, когда его обновят (энтузиасты).
К тому же принципиально новые фичи графики DirectX в DelphiX не юзаются вовсе.
← →
Sapersky_ (2002-09-10 12:53) [14]2Pasha676:
Если выводится один-единственный объект, особой разницы между D3D RM и IM (Immediate Mode, непосредственный режим) не будет (т.к. RM реализован на IM). Тем более не будет разницы, используется при этом DelphiX или нет - т.к. DelphiX контролирует только 2D-графику.
Проблемы с D3D RM начинаются, если нужно сделать что-то продвинутое - альфа-текстуру (взрыв, дым...) или динамический (изменяющийся с течением времени) объект. Мультитекстурирование, бамп-мэппинг и т.д. вообще невозможны.
Опять же, невозможно контролировать весь процесс рендеринга. Это иногда приводит к забавным казусам - например, я как-то СЛУЧАЙНО получил Motion Blur...
И общая корявость... всё это создание фреймов, присоединение того к этому сильно напоминает пляску шамана с бубном. Сейчас, изучив IM (рекомендую для начала 7-ю версию - самая простая), на RM смотреть не могу - противно. Если уж работать на высокоуровневом API, то лучше, пожалуй, GLScene. В плане интеграции с Delphi и вообще.
2Все:
DelphiX... штука неплохая. Но при самостоятельном написании всего можно учесть особенности своей программы и получить бОльшую производительность... и меньший размер exe-шника (мелочь, а приятно :)).
Альфа-блендинг можно утащить из FastLIB http://gfody.com/ или делать его через Direct3D (это не так уж и сложно, см. мой пример Points на DelphiGFX).
← →
Fog (2002-09-10 18:37) [15]Использовать компоненты - себя не уважать и пользователей тоже!
← →
Владимир Васильев (2002-09-10 21:58) [16]>fog , простите, а вы уже что-то коммерческое успели написать,-без компонентов - в одиночку????
← →
a_n_t (2002-09-11 05:23) [17]2Fog: Пользователь (среднестатистический) в жизнь не отличит: использованы компоненты при разработки или нет. Он и понятия не имеет что такое компоненты и вообще как это можно написать программу :)
← →
Pasha676 (2002-09-11 13:42) [18]2Sapersky_
А нельзя ли, плиз, по GLScene порекомендовать мне что-ниб почитать или примерчики или сайтики и вообще откуда мне плясать начать, чтоб освоить его. И вообще что это такое и хде это взять.
← →
Pasha676 (2002-09-11 13:44) [19]Ой спасибо. Уже не надо в соседнем топике нашел. Сорри за торможение
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.009 c