Текущий архив: 2007.11.18;
Скачать: CL | DM;
Вниз
Проф. геймдев на Делфи Найти похожие ветки
← →
Unsigned © (2006-01-13 23:29) [0]Доброго времени суток! Сразу оговорюсь что это тема не типа "Делфи вс Си".Хотелось бы услышать мнение знающих людей по-поводу : есть ли профессиональное будущее у программиста игр на Делфи? Или для того чтоб стать проффесионалом в игровой индустрии необходимо рано или поздно переходить на С, а геймдев на Делфи носит любительский характер?
← →
XProger © (2006-01-14 00:07) [1]http://www.pascalgamedevelopment.com/competitions.php?p=details&c=1
Тогда с какой стати Borland второй год подряд осуществляет спонсирование конкурсов по программированию игр? ;)
Главное не инструмент, а музыкант. Пока этого не поймёшь - будешь метаться из стороны в сторону без толку... :)
← →
П7 (2006-01-14 00:37) [2]Не, профессиональный геймдев подразумевает коммерческую основу. А пока выгоднее купить готовый движок и делать на его основе игру. А движки (качественно-крутые-безбожно-навороченные-типа-профессиональные) в основном пишутся на С++. Так что работать над самой игрой придётся на С++.
Ну и не забываем про консоли. Паскаль-подобного компилятора для косольных СДК нету.
Так что будущего у OP в проф.геймдеве нету. Можно написать игру на Delphi. Даже заработать на ней большие бабки, но на рельсы всё это не поставишь. Затраты слишком велики, скажем так.
А то что Борланд там тужится - это никого не волнует. Вот если бы они спонсировали разработку современного двига - тогда другое дело. Остальное - суета! (:
← →
XProger © (2006-01-14 04:38) [3]П7, GBA чем не консоль?
← →
Unsigned © (2006-01-14 15:01) [4]
> Главное не инструмент, а музыкант. Пока этого не поймёшь
> - будешь метаться из стороны в сторону без толку... :)
Я тоже всегда так думал что язык-это инструмент, а рулят мозги. Но почему тогда большинство коммерческих игр сделано на С? Стереотип?
2 П7.
Похоже что деваться действительно некуда...
← →
DeadMeat © (2006-01-14 15:27) [5]Ну думаю повторю многое, что было уже сказано на этом форуме.
Среда (или если угодно язык) программирования - это ИНСТРУМЕНТ (тока что сказали выше). И не важно каков этот инструмент (ну в пределах разумного конечно). При наличии рук и головы можно сделать многое.
Почему на С.? Уже ПсихЪ заметил. Многое просто давно сделано для С. Для Делфи тоже не мало, но все же количества сравнивать думаю смысла нет. Просто на просто дело в удобстве. Уже почти все есть. А для Делфей искать надо или делать самому. Конечно делать самому это хорошо... Если куча времени имеется. Но это не всегда есть.
Поэтому подитожу: выбор языка (среды) программирования обуславливается (в идеале) лишь его удобством и наличием тех или иных библиотек (и справочных материалов) для достижения поставленной цели.
← →
Nic © (2006-01-14 15:38) [6]Object Pascal позиционировался как язык для обучения программированию, первые версии Delphi были больше для работы с БД, нежели универсальные системы программирования. И всё это время были языки C и C++, которые успешно применялись в различных конторах, в то время, как Delphi становился всё более универсальной системой программирования. ИМХО.
← →
Soulghai © (2006-01-14 15:48) [7]Выскажу своё ИМХО =).
есть ли профессиональное будущее у программиста игр на Делфи?
Думаю есть, т.к. уже есть набор всем известных игр выпушеных на Делфях и имевших комерческий успех. ( А анонсированные игры не пересчитать ).
Или для того чтоб стать проффесионалом в игровой индустрии необходимо рано или поздно переходить на С, а геймдев на Делфи носит любительский характер?
Я не считаю, что геймдев на Делфи носит любительский характер ( хотя для многих это именно так ). Более того, я считаю, что у Делфи кодеров есть будущее в игровой индустрии. На сколько мне известно игры написанные на Делфи начали появляться не так давно, но как только они появились, их становится всё больше и больше. Лично мне, будущее Делфи гейм девелопмента представляется отнюдь не "серым". ( Мои слова относятся в первую очередь к ПК, т.к. к консолям никакого отношения не имею )
Так же хочется присоединиться к XProger"у.
Думается мне конкурсы это только начало.
← →
Nic © (2006-01-14 15:49) [8]Не Object Pascal, а просто Pascal, оговорился.
← →
DR0N © (2006-01-14 16:00) [9]Да, на Delphi написано достаточно много успешных коммерческих проектов, как шароварных так и "дисковых", например Venom (игрушка от авторов Козаков и Stalker) была написана на Delphi, но сейчас они пишут игры на С++ и в этом конечно есть свой резон. Например в C++ можно сильно ускорить игру выйгрывая за счет большей арифметической скорости языка или специальных кампиляторах, например под 64 битные процессоры, а компилятор дельфи увы не менялся практически с 3-4 версии (я не имею в виду его надстройки .Net и прочее, именно компилятор ObjectPascal"я). В свое время любой программист переходит на С++, просто оно у всех поразному настает =)
← →
Soulghai © (2006-01-14 16:04) [10]{***оффтоп****
И нтересно, почему не меняется компилятор...
***оффтоп***}
← →
П7 (2006-01-14 19:10) [11]
> XProger © (14.01.06 04:38) [3]
Если бы поддержка GBA для FreePascal"я вышла быодновременно с запуском консоли, то я бы согласился. Но было иначе. А значит... "Боловство это всё, Петька!"
← →
Unsigned © (2006-01-14 20:01) [12]
> например Venom (игрушка от авторов Козаков и Stalker) была
> написана на Delphi
Вообще странно, их 1 игра, по-моему, была Варкрафт 2000( на С), потом Казаки ( тоже на С) а потом вдруг Веном на Делфи :\. Откуда кстати инфа что на Делфи?
> Например в C++ можно сильно ускорить игру выйгрывая за счет
> большей арифметической скорости языка или специальных кампиляторах,
> например под 64 битные процессоры
То есть получается что игры на С выигрывают в скорости? Значит инструменты не равносильные?
← →
Cash © (2006-01-14 20:12) [13]... Значит инструменты не равносильные? ...
Ну, конечно же нет. Сделай одну и ту же реализацию кода на
Delphi и, хотябы, на C++ Builder. Разницу во времени и размере
выходного кода получишь сразу.
(А это еще BC++B, а на VC++ и тем более на Intel C++ Compiller эта разница
еще больше).
← →
XProger © (2006-01-14 20:55) [14]Можно так:
s := 0;
for i := 1 to N do s := s + s;
А можно так
s := N * N;
Если программер выбирает первый вариант, то ему уже никакой язык программирования не поможет... ;)
← →
П7 (2006-01-14 20:58) [15]
> Cash © (14.01.06 20:12) [13]
Никого сейчас не волнуют тысячные доли секунд. При таких-то мощьностях...
← →
П7 (2006-01-14 20:59) [16]
> XProger © (14.01.06 20:55) [14]
Сам-то понял, что написал? (:
← →
DR0N © (2006-01-14 21:34) [17]>Откуда кстати инфа что на Делфи?
Сами говорили, видать не понравилось.
>Никого сейчас не волнуют тысячные доли секунд. При таких-то мощьностях...
Посмотрел бы я как работали бы тени в двиге DOOM3, будь он на Delphi. Там теневые объемы через CPU строятся при рендере, уйма математики, на дельфи бы раза в 4 фпс упал.
>Если программер выбирает первый вариант, то ему уже никакой язык программирования не поможет... ;)
ыыыыы...Обкурился?
← →
XProger © (2006-01-14 21:38) [18]П7, очепятка :)
s := s + N;
← →
XProger © (2006-01-14 22:52) [19]DR0N, что за бред насчёт в 4 раза фпс упал? Чушь... Была такая игра - Quake 2 называлась, сделали её полный перевод на Delphi и что люди увидели? FPS 1 в 1 идентичны. Или хочешь сказать, что там математики нет? ;)
← →
DR0N © (2006-01-14 23:47) [20]Во времена ку2 компиляторы еще так сильно не различались это раз, а во-вторых, ну какая там математика, страшнее теневых объемов в реальном времени с точки зрения математики еще ничего не придумали...
← →
_111_ © (2006-01-15 00:16) [21]
> Cash © (14.01.06 20:12) [13]
> Сделай одну и ту же реализацию кода на
> Delphi и, хотябы, на C++ Builder. Разницу во времени и размере
> выходного кода получишь сразу.
Стыдно, господа, такое писать. Сам-то проверял?
"Разницу во времени" - не более 10% (Максимум), иначе - кривой программист
про "размер выходного кода" - если знаешь из-за чего он такой, то относить это к недостаткам - глупо
лично я, разницы сильной не вижу. На паскале удобнее писать(ИМХО).
А Сишные языки более "оптимизированы" для работы с 3D графикой (это проверено, например многослойный блендинг действительно в разы быстрее обсчитывается Сишным EXE, по отношению к делфийскому)
← →
XProger © (2006-01-15 01:53) [22]Cash, я пишу проги на Delphi размером от 524 байт, это много?
DR0N, заврались товарищ... ;)
← →
Bogdan1024 © (2006-01-15 04:14) [23]Вот учил бы я С++, то работал бы уже геймдевелопером, а так 4 месяц в поисках работы... правда что студент.
Шо-то призы в конкурсе создания игр на делфи какие-то мрачные :) там разве что за чашку стоит посостязаться :)
← →
Bogdan1024 © (2006-01-15 04:15) [24]А от С++ есть такой конкурс?
← →
П7 (2006-01-15 04:18) [25]
> Bogdan1024 © (15.01.06 04:14) [23]
Дак учи. Кто не даёт?
← →
Bogdan1024 © (2006-01-15 05:55) [26]Дак учу.
← →
antonn © (2006-01-15 06:11) [27]XProger © (15.01.06 1:53) [22]
Cash, я пишу проги на Delphi размером от 524 байт, это много?
проги или или подобие прог, которые показывают, что можно компильнуть-сжать-еще_раз_сжать и получить маленький размер? Демосцена - это не прога в распространенном смысле, это демонстрация (понтов:)), прога должна иметь какой то функционал, а не просто выводить "зашейдерные кубики, и завоксельные спрайты" :)
← →
Cash © (2006-01-15 08:59) [28]_111_ © (15.01.06 00:16) [21]:
Проверял!
Сделал достаточно большую прогу. Три формы с внтренними компонентами.
Сделал на OP И C++. Дам примерные размеры потаму, как нет уменя уже
этих примеров.
Delphi7 - 600 Kb.
BC++B5 - 400 Kb.
VC++7 - 27 Kb.
ICppC - 32 Kb.
А быстрота выполнения по нароостающей от Delphi к ICppC.
(у меня Intel Celeron стоит, атлонщикам - не прикапываться)
Так что: "... Хотите верьте.... Хотите - нет". (Полосатый рейс©)
Да кто с тобой спорит, я тоже на Delphi шкодить не бросил.
Но... накрайняк всетаки VC++ освоил. Это никогда не помешает.
← →
XProger © (2006-01-15 09:57) [29]Cash, запусти свои проги в 32 кб на винде без дополнительных модулей, тогда поговорим...
antonn, обижаете... В данный момент работаю над IRC чатом в 16 кб. Текущее состояние - http://xproger.mirgames.ru/tmp/MirG.rar [7.5 кб] Коннектится к серверу, заходит на канал, можно общаться и посылать команды серверу :)
← →
DR0N © (2006-01-15 10:11) [30]XProger
>заврались товарищ...
Блин, ну где заварался, что спорить будешь что мат часть на си в РАЗЫ быстрее чем на дельфи?
← →
XProger © (2006-01-15 10:20) [31]DR0N, а тут спорить нечего, ибо враньё явное :)
Хочешь сказать, разработчики в борланде ASM и математику не знают, а про оптимизацию кода вообще не слыхали? Ню-ню...
← →
Cash © (2006-01-15 10:51) [32]XProger © (15.01.06 09:57) [29]:
А какие еще доп модули нужны???
Intel C++ Compiler for windows ничего такокого не требует,
я его только демку брал, (релиз дороговат, и ломать не охота)
дак ниче, работала и на Хрюшке и на Ленолиуме, да на 98 (на эмуляторе)
пихал даже - и то работает.
Тестирование - вещь дотошная! Если чего в бошку влезит, то только
так я это и выбивал.
← →
XProger © (2006-01-15 11:37) [33]Cash, я тебе 100 форм наделаю с кнопочками, едитами, листбоксами и мемо, и будет это дело весить 2 кб отсилы. И что теперь скажешь?
Модули - аналоги VCL для Delphi
P.S.
Учи язык на котором пишешь, вместо того, чтобы глупости говорить... ;)
← →
DR0N © (2006-01-15 11:42) [34]2XProger
глупость, Delphi медленне выполняется чем приложения на C++. Уже тысячу раз разными людьми проверено.
← →
antonn © (2006-01-15 11:43) [35]XProger © (15.01.06 9:57) [29]
В данный момент работаю над IRC чатом в 16 кб.
16К в 31,2 раза больше, чем 524:)
неслабое преувеличение:) или преуменьшение:)
← →
XProger © (2006-01-15 12:02) [36]antonn, да ты гений!
DR0N, список пожалста этой тысячи недоучек... ;)
← →
Cash © (2006-01-15 13:37) [37]XProger © (15.01.06 11:37) [33]:
Чтобы лексика глупостью не казалась следует учить слова!!! (IMHO)
Чтобы выражения глупостью не казались надо их правильно составлять.
Я просто непонимаю лексику и семантику твоих высказываний.
У меня иное представление о вещах и тем более о словах, которыми эти
вещи наречены нежели у человека, знающего о программировании от
Краснова, замечу, не самого удачного исполнителя кодов. Нет, книги я тоже
читаю, но только те, которые выпущены типографией универа.
← →
XProger © (2006-01-15 14:36) [38]Cash, под языком на котором ты пишешь я имел ввиду - язык программирования. Если ты не понимаешь работы компилятора, и работу той программы что ты написал, то нельзя говорить, что язык/компилятор убог...
← →
Cash © (2006-01-15 15:13) [39]XProger © (15.01.06 14:36) [38]:
Это известный факт. Я другое имел вииду.
Cash Out.
← →
Кефир87 © (2006-01-15 15:23) [40]Я не пойму в чем проблема изучения C++? По мне так тоже что и Object Pascal. Все равно смысл один. Мне лично просто приятней писать на паскале. Не знаю почему. Да и в делфи как-то уютней. Да и нет у меня сейчас MSVC 6.0.
ИМХО в любом языке надо знать только синтаксис и основные фишки, остальное уже алгоритмитизация. Блин. Не знаю доходит ли до вас моя мысль, но я говорю о том, что изучение C++ после OP состоит только в том что надо запомнить что
begin end = {}
for i := 0 to N-1 do = for(i=0;i<N;i++)
^Char = * char;
И так далее... Еще то, что переменные можно обявлять где придется 8)
Но все-же C++ мне кажется более профессиональным ибо он более гибкий. Ну с этим не посморишь! Очень удобные в нем фишки, такие как: Шаблоны, перегруз операторов, арифмет. операции в присвоении... Да полно чего. Но Object Pascal (уж не знаю.. может Delphi его назвать) тоже развивается 8)
← →
Sphinx © (2006-01-15 15:56) [41]2 Cash © (15.01.06 08:59) [28]
Delphi7 - 600 Kb.
BC++B5 - 400 Kb.
VC++7 - 27 Kb.
ICppC - 32 Kb.
Ыыыы....
можно узнать что я не так делаю ?
Приложение создает окно и ни чего больше не делает (ни какие bpl не используются).
Delphi 7 - 16 Kb.
VC++ 7.1 - 35 Kb.
ICС 9.0 - 42 Kb.
← →
Unsigned © (2006-01-15 16:40) [42]2 Кефир87
> Я не пойму в чем проблема изучения C++?
Вроде не кто про проблему и не говорит! Я просто хотел послушать мнение людей о перспективах геймдева на Делфях как направления.
← →
Nic © (2006-01-15 16:41) [43]
> Cash © (15.01.06 13:37) [37]
> XProger © (15.01.06 11:37) [33]:
> Чтобы лексика глупостью не казалась следует учить слова!
> !! (IMHO)
> Чтобы выражения глупостью не казались надо их правильно
> составлять.
> Я просто непонимаю лексику и семантику твоих высказываний.
>
> У меня иное представление о вещах и тем более о словах,
> которыми эти
> вещи наречены нежели у человека, знающего о программировании
> от
> Краснова, замечу, не самого удачного исполнителя кодов.
> Нет, книги я тоже
> читаю, но только те, которые выпущены типографией универа.
>
А вот Михаила Краснова не надо трогать!!! Он первый, кто в России написал нормальную книгу по графике в Delphi.
← →
Кефир87 © (2006-01-15 17:07) [44]
> Вроде не кто про проблему и не говорит! Я просто хотел послушать
> мнение людей о перспективах геймдева на Делфях как направления.
>
Тогда мое мнение: В перспективе все возможно. Но для C++ это уже не перспектива 8)
← →
XProger © (2006-01-15 19:18) [45]Кефир87, насчёт перегрузки операторов, щас написал простенький пример на BDS 2006 (Delphi 2006)
type
TVector = packed record
X, Y, Z : Single;
procedure From(const X, Y, Z: Single);
class operator Add(const Left, Right: TVector): TVector;
class operator Implicit(const v: TVector): TPoint;
end;
implementation
procedure TVector.From(const X, Y, Z: Single);
begin
Self.X := X;
Self.Y := Y;
Self.Z := Z;
end;
class operator TVector.Add(const Left, Right: TVector): TVector;
begin
Result.X := Left.X + Right.X;
Result.Y := Left.Y + Right.Y;
Result.Z := Left.Z + Right.Z;
end;
class operator TVector.Implicit(const v: TVector): TPoint;
begin
Result.X := round(v.X);
Result.Y := round(v.Y);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
v1, v2: TVector;
begin
v1.From(50, 50, 0);
v2.From(60, 20, 3);
Canvas.Polygon([v1, v2, v1 + v2]);
end;
← →
баклан (2006-01-15 21:26) [46]гы ) перегрузка операторов в BDS2006 попроще будет чем в сях, имхо ))
круто! спасибо за пример. только вот 2006ой у меня еще нету.
я так понимаю что не зависит от типа приложения? win32 / .NET
← →
XProger © (2006-01-15 21:31) [47]В С++ будет проще (как обычно, меньше букв - больше бессмыслицы ;)
Используй 2005
Не зависит
← →
TWINc © (2006-01-15 21:40) [48]XProger, а где про это можно почитать поподробнее?
← →
XProger © (2006-01-15 21:44) [49]Здесь
C:\Program Files\Borland\BDS\4.0\Demos\DelphiWin32\VCLWin32\ComplexNumbers\Vassbotn.Vcl.Complex.pas
← →
Кефир87 © (2006-01-16 00:38) [50]XProger, не знал... А может там еще и шаблоны сделали? 8)
← →
GdeJa (2006-01-16 01:50) [51]А можно узанть что это такое :)
перегрузка операторов , шаблоны? Буду примного благодарен :)
← →
Кефир87 © (2006-01-16 02:23) [52]Долго объяснять. Читай учебники или Яндекс
http://www.yandex.ru/yandsearch?rpt=rad&text=%CF%E5%F0%E5%E3%F0%F3%E7%EA%E0+%EE%EF%E5%F0%E0%F2%EE%F0%EE%E2
http://doks.gorodok.net/?p=259
http://www.yandex.ru/yandsearch?text=%D8%E0%E1%EB%EE%ED%FB+%E2+C&stype=www
http://template.fromru.com/
← →
rsy (2006-01-16 10:22) [53]Полностью согласен с XProger © . Нужно учить язык и среду разработки, а не просто тыкать на кнопки.
А миф в том что С круче Паскаля сложился в начала 90 - х годов. Просто с тогда была круче всех языков и поетому с стал таким "Крутым" . Сейчас код на Delphi не уступает по скорости с кодом на Visual C. Так что у программистов на Делфи будущие будет хорошее.
Учите язык программирования и тд..
Становитесь творцами!
← →
DR0N © (2006-01-16 10:51) [54]C++ круче паскаля... и если к выходу Windows Vista Борланд не сделает 64 битный оптимизированный компилятор, то Дельфи будет ваще сосать по полной.
← →
rsy (2006-01-16 10:57) [55]Dron ты же сам кодиш на Делфи и ты его так низко опускаеш.
← →
Nic © (2006-01-16 12:39) [56]Следует заметить, что для каждой конкретной задачи нужно подбирать адекватный инструмент. Вот.
← →
Soulghai © (2006-01-16 12:39) [57]rsy
Тока не надо превозносить язык на котором кодишь.
Хочется услышать что-то конкретное, а не мнения с поправкой на собственные предпочтения.
← →
_sHaDe_ © (2006-01-16 12:50) [58]
> список пожалста этой тысячи недоучек... ;)
Гы... вот те первые два Стив Тейксейра, Ксавье Пачеко :). Если уж они соглашаются с тем что программы на делфи работают медленнее программ на си то я незнаю чего тут спорить.
← →
П7 (2006-01-16 13:26) [59]Ну чё флудим-то? А ну марш нулевой пост читать! (: Для очередного холивара могли бы отдельную ветку создать..
← →
_Lucky_ (2006-01-16 13:43) [60]
> XProger © (14.01.06 20:55) [14]
На самом деле помоему лучше всего так :-)
s := 0;
← →
nightwaler (2006-01-16 15:38) [61]
> Можно так:
> s := 0;
> for i := 1 to N do s := s + s;
>
> А можно так
> s := N * N;
>
> Если программер выбирает первый вариант, то ему уже никакой
> язык программирования не поможет... ;)
Если программер выбирает первый вариант, то любой нормальный компилятор оптимализирует его до второго!
← →
XProger © (2006-01-16 17:03) [62]nightwaler,
была поправкаs := 0;
for i := 1 to N do s := s + N;
таких нет в природе.
← →
_Lucky_ (2006-01-16 17:38) [63]
> rsy (16.01.06 10:57) [55]
По твоему, если ездишь на запоре имеет смысл доказывать, что он лучше мерса?
> XProger © (16.01.06 17:03) [62]
- да в принципе суть была ясна, у всех бывают косяки, просто решил пошутить.
На самом деле я вижу, что все перешло в спор. А ваще Си - это язык, но также имеются и конкретные среды разработки от борланда, мелкософта, интела и других товасчей, а вот делфи, он уже как язык или среда разработки - я чего даже не знаю к чему его отнести ...
← →
XProger © (2006-01-16 17:44) [64]_Lucky_
Definition of Delphi Programming Language
Notable aspects of the Delphi language include:
- Transparent handling of objects as references/pointers
- Properties as part of the language
- Index Properties and Default Properties to provide access to collections
- Delegates; safe method pointers;
- Delegation of interface implementation to a field or property of the class
- COM independent interfaces with reference counted class implementations
http://encyclopedia.laborlawtalk.com/Delphi_programming_language
← →
_Lucky_ (2006-01-16 17:51) [65]
> XProger © (16.01.06 17:44) [64]
сэнкс.
← →
_sHaDe_ © (2006-01-16 19:59) [66]
> есть ли профессиональное будущее у программиста игр на
> Делфи?
Если си загнётся(незнаю правда каким образом) то есть. Не писать же игры на басике :).
← →
NE_Parovoz © (2006-01-16 20:33) [67]я вообще ооп в Delphi боюсь, незнаю почему
> Хотелось бы услышать мнение знающих людей по-поводу : есть ли
> профессиональное будущее у программиста игр на Делфи?
да, но пока хуже чем на cpp (я не знающий)
з.ы. есть ли какие-то скрипты/языки основанные на Delphi(Pascal) ?
как java, GLSL/HLSL, всякие Lua/Python ?
← →
DR0N © (2006-01-16 20:46) [68]NE_Parovoz
Есть Delphi Script который применяется в ряде Quality Ashuarence системах, например Test Compete. Больше не встречал, для скриптов си конечно удобнее чисто его синтаксиси проще реализовать.
← →
OldNaum © (2006-01-16 20:58) [69]NE_Parovoz © (16.01.06 20:33) [67]
RemObject PS (www.remobjects.com)
DWS II (попробуй на него с www.glscene.org выйти)
FastScript (ну это Rндекс)
еще много есть чего =)
ну а лучше всего изучить работу с WSH - тут появляются сразу и TCL и много чего еще ) модного и популярного. кстати вроде как есть Pascal via WSH, но он не доработанный до сих пор. если кто сталкивался. вроде бы все они имеют префикс [Active].
DR0N © (16.01.06 20:46) [68]
насколько я понимаю Delphi Script закрытая разработка?
← →
DR0N © (2006-01-16 21:00) [70]Угу, она коммерческая.
Кста, вот не знал что на базе паскаля стока скриптов =)
← →
Unsigned © (2006-01-16 21:39) [71]2 ALL
Да.... напостили вы тут. Ветка таки превратилась в самый обычный холивар, не смотря на мои просьбы)). Но ИМХО спор этот бессмыслен, здесь уже достаточно было приведено информации для размышления, и я думаю каждый сможет для СЕБЯ сделать(или уже сделал давно) вывод.
← →
XProger © (2006-01-16 22:45) [72]Unsigned, каждый дельфист увидев пост "нет будущего" считает эго плевком в лицо, со стороны написавшего. Так что, без холивара - никак :)
← →
DR0N © (2006-01-16 23:32) [73]Я не считаю. Я это понимаю, но мне это никак не мешает успешно кодить и продавать игры написанные на Delphi.
← →
twinc © (2006-01-17 08:09) [74]Удалено модератором
← →
kavis © (2006-01-17 17:51) [75]Delphi рулез
но одно не понятно если delphi брать дядя Борланда и VC++ тоже от борланда то скорей разница будет только в синтаксисе, просто мочутся учить еще один язык нету времени, он по ходу выучиться!!!
← →
Nic © (2006-01-17 18:59) [76]
> kavis
VС++ всё же от мелкомяхких, а не от Борланда ;)
← →
Кефир87 © (2006-01-17 19:40) [77]Неверно имелось в виду Borland C++, но я думал тут речь о языках, а не о средах 8)
← →
twinc © (2006-01-17 20:27) [78]А по производительности все же Микрософтовский vc++ лучше bc++ builder?
← →
DR0N © (2006-01-17 20:37) [79]2twinc думаю да, но очень незначительно.
← →
Кефир87 © (2006-01-17 21:44) [80]
> twinc © (17.01.06 20:27) [78]
>
> А по производительности все же Микрософтовский vc++ лучше
> bc++ builder?
А тебе не плевать на сколько быстро работает IDE? 8)
← →
Nic © (2006-01-17 21:56) [81]Мне вот в D7 нравится быстрота компиляции проги, классный отладчик, достаточно быстрый для моих задач exe (для меня даже разница 30-50% в скорости вычислений - не критичны, а такое бывает редко).
И ещё нравится - хоть на API пиши, хоть юзай все прелести VCL. VC++ отталкивает отладчиком и скоростью компиляции. И очень много места на винте проекты занимают.
← →
DR0N © (2006-01-17 22:26) [82]Про скорость компиляцие не могу не согласиться, тормозная клмпиляция - зло.
← →
Кефир87 © (2006-01-17 22:30) [83]Дык она там, в сях, почему-то многопроходня...
← →
twinc © (2006-01-17 23:09) [84]> Кефир87 © (17.01.06 21:44) [80]
а что компиляторы у них одинаковые? (8
← →
П7 (2006-01-17 23:20) [85]
> Кефир87 © (17.01.06 22:30) [83]
Рассказать почему? (:
← →
twinc © (2006-01-17 23:50) [86][i]> П7 (17.01.06 23:20) [85][/i]
внимательно слушаю :)
← →
П7 (2006-01-18 00:21) [87]
> twinc © (17.01.06 23:50) [86]
Это был риторический вопрос. Кому интересно "почему?" идут на РАМБЛЕР. (:
Ещё можно поискать что такое дефайны и как они работают... (:
← →
Nic © (2006-01-18 00:46) [88]Да, у Delphi однопроходный компилятор. Но для большинства задач - другого и не нужно. Естетсвенно, наверняка есть пласт задач, где даже 1% в производительности - ощутимо. Не говоря уже о бОльшем.
← →
DR0N © (2006-01-18 10:50) [89]Есть либо у тебя 10FPS в игре лиюбо уже 11 - тормозит не так явно =))))
← →
Nic © (2006-01-18 11:21) [90]
> DR0N © (18.01.06 10:50) [89]
> Есть либо у тебя 10FPS в игре лиюбо уже 11 - тормозит не
> так явно =))))
И я про то же. Даже разница между 10 и 15 FPS мало заметна. А вот кривой алгоритм сделает 1 и 1,5 FPS соответственно. И то и то - одинаково медленно.
← →
megabyte-ceercop © (2006-01-18 13:35) [91]По своим ощущениям скажу честно, после перехода на С++ почувствовал как от Дельфи любительщиной несет : \. Но не в обиду никому. Дельфи всеравно уважаю. Многому научила.
Я вот приготовил сегодня скрины из Киркопа II (см соседнюю ветку. Сейчас выложу.). Сравните их с первой частью и поймете какой язык лучше для игр подходит ;) ^_^
← →
_Lucky_ (2006-01-18 14:04) [92]VC 2005 на моей давно не грейженой машине грузится быстрее делфей и компилит проекты тоже довольно быстро, к тому же в сях при изменении кода компилится только один файл, пусть даже проект состоит из 100, так что тоже особо ждать не приходиться.
Ничего не имею против делфей, но си для меня ближе, видимо потому, что я сразу на них писал, ну и привык чтоли, а теперь реально понимаю, что он мне нравится больше дельфей, тем не менее на дельфях тоже пишу :-)
Думается фишка еще и в том, что большинство разработчиков пишут на сях, допустим некоторых вася написал класную игру на дельфи, его заметили и пригласили на работу, но не будут же все переучиватся ради него, а видимо на оборот он будет учит язык на котором пишут в этой конторе.
← →
WillRock © (2006-10-12 12:40) [93]Начал я писать на Дельфе и наыерное тоько благодаря этому у меня появилась такая любовь к программингу...
Даже не знаю, какое у меня бы мнение сложилось, если бы я сел за С в начале...
С++ классная штука, но вот писать небольшие утилиты с пользовательстким интерфейсов на нем ЗАНЧИТЕЛЬНО дольше, муторнее и все такое, а вот написать консольную либу, которая фильмы перекодирует, лучше написать его на С++, а потом к этому декодеру привинтить IDE, написанной на Дельфи за 15 митут ;))
← →
@!!ex © (2006-10-12 13:09) [94]
> Кефир87 © (15.01.06 15:23) [40]
C++ отличается гораздо значительнее.
Основная разница ы принципах работы с памятью.
ИМХО в С++ все на указателях построено, что очень удобно для программиста, но из-за этого дельфисты поначалу много ошибок делают в Сях(по себе знаю)
← →
Cash © (2006-10-12 13:49) [95]_Lucky_ (18.01.06 14:04) [92]:
Borland C++ 3.1 - это моя родина! Потом на MS VC++ перешел и вместе с
VC++ я Delphi учил (параллельно, это очень занимательное занятие! :))) ).
Потом жизнь заставила, кафедра в универе напрочь не хочет работать
на MS VC++, они его там просто отказываются ставить. Плюнул, начал
кодить вполную на Delphi, и все! Хана! Я сейчас со скрипом возвращаюсь
в свой родной мир. Переход с Делфи на C++ дается давольно болезненно,
даже ввиду хорошего прошлого знания этого языка.
(ладно, слезы вытер... и пошел дальше возвращаться на родину!) ^_^
← →
MeF Dei Corvi © (2006-10-12 17:44) [96]
> на указателях построено, что очень удобно для программиста
Наверное, поэтому в C# вообще нет указателей(в явном виде).
← →
XProger © (2006-10-12 19:19) [97]@!!ex, как раз то, что С++ компиляторы (да и сама логика) позволяет допускать ошибки - язык этот гораздо уродливее Delphi. Да, MSVC++ компилятор имеет в запасе до полутысячи различных сообщений об ошибке во время компиляции, но какое это имеет значение, когда ошибка всего в 1 символ проходит по всем стандартам языка...
А с памятью гораздо лучше работает Delphi, т.к. имеет мощный менеджер который, даже утечки памяти отлавливает и доходчиво о них докладывает :)
P.S. Кстати, из всех современных высокоуровневых компиляторов - С++ компиляторы являются наиболее простыми в реализации (и это не отсебятина ;)
← →
@!!ex © (2006-10-12 19:29) [98]
> @!!ex, как раз то, что С++ компиляторы (да и сама логика)
> позволяет допускать ошибки - язык этот гораздо уродливее
> Delphi. Да, MSVC++ компилятор имеет в запасе до полутысячи
> различных сообщений об ошибке во время компиляции, но какое
> это имеет значение, когда ошибка всего в 1 символ проходит
> по всем стандартам языка...
> А с памятью гораздо лучше работает Delphi, т.к. имеет мощный
> менеджер который, даже утечки памяти отлавливает и доходчиво
> о них докладывает :)
Об уродстве языка - согласен, но лично мне очень нравится работать с указателями в Сях. Шарп - отстой, ИМХО.
> P.S. Кстати, из всех современных высокоуровневых компиляторов
> - С++ компиляторы являются наиболее простыми в реализации
> (и это не отсебятина ;)
Ага. Наверно именно поэтому до сих пор нет НИОДНОГО компилятора полностью поддерживающего стандарт ANSIIC++
← →
XProger © (2006-10-12 23:10) [99]ANSIIC++... впервые о таком слышу, ссылочку с подробным описанием можно?
← →
XProger © (2006-10-12 23:12) [100]Так, понял о чём речь... стандарт меняется постоянно + каждый вендор пытается свой велосипед изобрести, ничего в этом удивительного нет, он ведь под все платформы существует (практически)
← →
@!!ex © (2006-10-13 16:09) [101]
> Так, понял о чём речь...
Написал по инерции лишнюю I. :))
> стандарт меняется постоянно
Да как раз нет.
На то он и стандарт.
Оффициально сущестует с 1998 года.
Дополнен в 2003. И собственно более не меняется.
На самом деле я очень сомневаюсь что компилятор С++ проще чем Паскалевый.
Всетаки там идет очень сильный анализ кода, многое построено на предположениях. А как он оптимизит при максимальных настройках - вообще сказка.
А в паскалевом анализ мизерный.
А Сишный синтаксис везде используется потому что программеров знающих С значительно больше.
Зачем делать скриптовй язык, который поймет минимум людей, когда можно пользоваться языком, который знает куча людей, на который есть куча документации, куча компиляторов, мультиплатформенный, стандартезированный.
← →
@!!ex © (2006-10-13 16:22) [102]Кстати, насчет того что С++ просто компилировать....
Цитата из Wiki с описанием С++ о недостатках:
>>Язык C++ является сложным для изучения и для компиляции.
← →
ANTPro © (2006-10-13 22:22) [103]Однако ПОКА код на паскале обгоняет код на си++ по скорости :)
Посмотрим что будет дальше ...
А компилятор для паскаля есть на ПК под все популярные оси.
← →
Ketmar © (2006-10-13 22:26) [104]>[103] ANTPro(c) 13-Oct-2006, 22:22
>Однако ПОКА код на паскале обгоняет код на си++ по
>скорости :)
не обгоняет.
← →
ANTPro © (2006-10-13 22:48) [105]Я о конкурсах по программингу ...
Дык вот там паскаль свободно конкурирует с си
Хотя это наверное из-за старых компиляторов
под дос.
← →
MeF Dei Corvi © (2006-10-14 12:39) [106]
> Однако ПОКА код на паскале обгоняет код на си++ по скорости
> :)
Скорее всего это происходит из-за криворуких программистов, или древних компиляторов.
← →
ANTPro © (2006-10-14 17:53) [107]ДЫК ЭТОЖ соревнование типа кто лучше напишет код. И паскаль неплохо конкурирует.
может кто-нибудь подкинет линк на сравнение компиляторов ?
← →
Ketmar © (2006-10-15 18:48) [108]>[107] ANTPro(c) 14-Oct-2006, 17:53
>может кто-нибудь подкинет линк на сравнение компиляторов ?
а зачем? как не оптимизируй, а основную скорость всё равно алгоритмы дают...
← →
nikola232 © (2006-10-16 07:49) [109]
> Однако ПОКА код на паскале обгоняет код на си++ по скорости
> :)
> Посмотрим что будет дальше ...
Да, я сам удевлён, и одновременно обрадован.
Код на Паскале(Delphi7 компилятор)
for i:=1 to 100000 do
for j:=1 to 100000 do
begin
a:=b+2;
b:=a-3;
end;
Работает быстрее чем анологичный (в копьё) на VC++ 6.
Ура Паскальщики.
← →
@!!ex © (2006-10-16 11:27) [110]У меня это... вопрос... Каким местом мерили то???
Delphi 7:
program TestPerfomance;
uses Windows, Dialogs, SysUtils;
var
i,j,a,b,Tm:integer;
begin
a:=0;
b:=0;
Tm:=GetTickCount();
for i:=1 to 99999 do
begin
for j:=1 to 99999 do
begin
a:= b + 3;
B:= a - 2;
end;
end;
Tm:=GetTickCount() - Tm;
ShowMessage(IntToStr(Tm)+" "+IntToStr(A)+" "+IntToStr(B));
end.
Tm = 20187
a = 1409865411
b = 1409865409
MS VC++ 2005(Debug):
#include "stdafx.h"
#include <stdio.h>
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
int i,j,a,b,Tm;
char buffer[100];
a = 0;
b = 0;
Tm = GetTickCount();
for(i = 1; i<100000; i++)
{
for(j = 1; j<100000; j++)
{
a = b + 3;
b = a - 2;
}
}
Tm = GetTickCount() - Tm;
itoa(Tm,buffer,10);
sprintf( buffer, "%i %i %i", Tm, a, b);
MessageBoxA(0,buffer,"Тест производиельности",MB_ICONINFORMATION);
}
Tm = 53911
a = 1409865411
b = 1409865409
MS VC++ 2005(Release):
#include "stdafx.h"
#include <stdio.h>
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
int i,j,a,b,Tm;
char buffer[100];
a = 0;
b = 0;
Tm = GetTickCount();
for(i = 1; i<100000; i++)
{
for(j = 1; j<100000; j++)
{
a = b + 3;
b = a - 2;
}
}
Tm = GetTickCount() - Tm;
itoa(Tm,buffer,10);
sprintf( buffer, "%i %i %i", Tm, a, b);
MessageBoxA(0,buffer,"Тест производиельности",MB_ICONINFORMATION);
}
Tm = 20181
a = 1409865411
b = 1409865409
MS VC++ 2005(Release(Настроен на максимальную скорость)):
#include "stdafx.h"
#include <stdio.h>
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
int i,j,a,b,Tm;
char buffer[100];
a = 0;
b = 0;
Tm = GetTickCount();
for(i = 1; i<100000; i++)
{
for(j = 1; j<100000; j++)
{
a = b + 3;
b = a - 2;
}
}
Tm = GetTickCount() - Tm;
itoa(Tm,buffer,10);
sprintf( buffer, "%i %i %i", Tm, a, b);
MessageBoxA(0,buffer,"Тест производиельности",MB_ICONINFORMATION);
}
Tm = 20013
a = 1409865411
b = 1409865409
Тестирование:
1 место - 20013мс MS VC++ 2005(Release(Настроен на максимальную скорость))
2 место - 20181мс MS VC++ 2005(Release) и 20187мс Delphi 7
3 место - 53911мс MS VC++ 2005(Debug)
Вывод:
Производительность на простейших арифметических операциях малоотличима.
ИМХО:
Тут ниче удивительного, такой код сложно оптимизить.
Я попробовал протестить вот такой цикл:
for i:=1 to 99999 do
begin
inc(a);
for j:=1 to 99999 do
begin
inc(b);
end;
end;
Вот тут уже все прелести компилятора С++...
Дельфя и С++ в дебаге показали примерно равное время, в районе 20 секунд и 25....
А вот релиз С++...... !0!мс... :))
← →
@!!ex © (2006-10-16 11:29) [111]Упс. Протупил. Строчки
itoa(Tm,buffer,10);
в Сишном коде нету....... :-[
← →
nikola232 © (2006-10-16 11:41) [112]
> Вот тут уже все прелести компилятора С++...
> Дельфя и С++ в дебаге показали примерно равное время
И в чём же прелести?
Всё равно код на Дельфи ИМХО как-то стройнее выглядит, штоли.
И, верно, нет плохих языков, есть кривые руки. Кто к чему привык. Здесь встаёт другой вопрос, вопрос о стандартизации, например во всех западных странах С++ это стандарт.
← →
rts111 © (2006-10-16 15:36) [113]Я бы уподобил Delphi - русскому языку, Си - английскому.
Может русский язык и лучше(не факт), но во всем мире все говорят на английском,
русский кстати тоже немало людей знают, украинцы и беларусы, например!
← →
Shirson © (2006-10-16 16:51) [114]Коллеги, любая ветка, в которой упоминаюется С и Р, перерастает в очередной виток HolyWar. Вам самим не надоело еще? Зачем провоцировать и поддаваться на провокации? Что это даст, если каждый останется при своём мнении?
Ув. Модераторы, может стоит запретить любые темы C vs D/P? Ну надоело уже наблюдать, как ветки перерождаются во флудильню.
← →
Ketmar © (2006-10-16 18:19) [115]>[114] Shirson(c) 16-Oct-2006, 16:51
>Коллеги, любая ветка, в которой упоминаюется С и Р,
тогда будут говорить "это" и "то". а флудофлэймить не перестанут. %-)
← →
@!!ex © (2006-10-16 18:41) [116]
> Shirson © (16.10.06 16:51) [114]
Нету холивара.
Народ привел необоснованные "факты" о том, что паскаль быстрее.
Я просто проверил.
Лично у меня 95% проектов на паскале, но не отреагировать на фразу, что компиллер дельфевый быстрее.....
← →
Ketmar © (2006-10-16 18:44) [117]>[116] @!!ex(c) 16-Oct-2006, 18:41
>компиллер дельфевый быстрее.....
компилятор -- быстрее. код же... %-)
← →
Shirson © (2006-10-16 18:46) [118]И по следующему кругу погнали...
← →
@!!ex © (2006-10-16 18:53) [119]
> Ketmar © (16.10.06 18:44) [117]
> >[116] @!!ex(c) 16-Oct-2006, 18:41
> >компиллер дельфевый быстрее.....
> компилятор -- быстрее. код же... %-)
Пожалуйста ваш код, который будет работать на С++ медленней. :))
← →
Ketmar © (2006-10-16 19:03) [120]>[118] Shirson(c) 16-Oct-2006, 18:46
>И по следующему кругу погнали...
не погнали. мне лениво. %-)
← →
XProger © (2006-10-16 19:25) [121]Алгоритм и технология - решают. Наносекунды никто не измеряет и "полупустые" циклы не крутит. Тот же код
for i:=1 to 99999 do
begin
inc(a);
for j:=1 to 99999 do
begin
inc(b);
end;
end;
пример совершенно бестактного алгоритма написанного явно не программистом (в лучшем смысле этого слова)
Настоящий программер пишет так:a := a + 99999;
b := b + 99999 * 99999;
И как можно догадаться, этот код работает в несколько десятков миллиардов раз быстрее.
Прекращайте заниматься фигнёй, лучше докажите, что геймдев на Delphi является професcиональным... ;)
← →
Ketmar © (2006-10-16 19:31) [122]>[121] XProger(c) 16-Oct-2006, 19:25
>докажите, что геймдев на Delphi является професcиональным... ;)
элементарно. "профессиональное" -- это значит, что на этом зарабатывают деньги (сиречь, это профессия). вполне достаточно найти игру на Delphi, которую продали (такие есть, кажись). всё. доказано.
← →
XProger © (2006-10-16 19:35) [123]Ketmar, их не мало и я о них знаю. Я прошу здесь присутствующих доказать самим себе, что это реально - написав при этом коммерческую Delphi игру. Сам для себя я это уже доказал...
← →
Ketmar © (2006-10-16 19:39) [124]>[123] XProger(c) 16-Oct-2006, 19:35
>присутствующих доказать самим себе, что это реально
зачем? кому надо -- тот делает. не важно, на чём. а кто не хочет -- тот ищет причины не делать.
← →
@!!ex © (2006-10-16 19:39) [125]
> Наносекунды никто не измеряет
Я сталкивался с другим мнением...
Ибо на меня выпала честь сидеть и рефакторить код в проекте в погоне за теми самыми наносекундами.
Утрированно, конечно.
Но дело доходило до того, что надо было оптимизить блоки ради 3 мс.
> пример совершенно бестактного алгоритма написанного явно
> не программистом (в лучшем смысле этого слова)
Цель была не получить результат максимально быстрым и простым способом, а показать разницу между компиляторами. :))
> XProger © (16.10.06 19:35) [121]
У Дельфи в геймдеве место есть.
Но С++ и Шарп он в ближайшем обозримом будущем не убьет.
> XProger © (16.10.06 19:35) [123]
Видели. Уважаем.
← →
KA_ © (2006-11-02 22:29) [126]Не надо слушать тех, кто говорит, что Delphi - это плохо и у него нет будущего.
В разработке игр и программировании вообще главное не знание языка.
Т.е. знание языка конечно необходимо, но имея некоторый опыт в одном или двух языках, новые осваиваешь как семечки лузгаешь.
Принципы все равно везде заложены одинаковые (ой только не надо мне говорить про Пролог и функциональное програмирование).
Я считаю, что надо исходить из твоих знаний на итекущий момент и из твоих целей.
Если у тебя нет опыта програмирования, и ты хочешь научиться, то тебе все равно какой язык изучать, но делфи по-проще будут чем C++ или Java.
Если опыт программирования есть и твоя цель сделать хорошую игру, то программируй на том языке, который лучше знаешь. Все равно львиная доля времени уйдетна освоение графических библиотек, работы со звуком и т.п. А эти вещи одинаковы во всех языках.
Если твоя цель приобрести опыт в игростроении и потом пойти работать в какой-нибудь Нивал, то учи сразу C++, т.к. этот язык доминирует в программировании вообще и программировании игр в частности.
← →
KA_ © (2006-11-02 22:37) [127]
> DR0N © (16.01.06 20:46) [68]
> NE_ParovozЕсть Delphi Script который применяется в ряде
> Quality Ashuarence системах, например Test Compete. Больше
> не встречал, для скриптов си конечно удобнее чисто его синтаксиси
> проще реализовать.
Вот те раз!
А я то думал что это все компиляторы C++ двухпроходные, а паскаля однопроходные.
Оказывается у С++ синтаксис проще реализовать :)))))))))
← →
Ketmar © (2006-11-02 23:01) [128]>[127] KA_(c) 2-Nov-2006, 22:37
>А я то думал что это все компиляторы C++ двухпроходные, а
>паскаля однопроходные.
ну и неверно ты думал.
← →
KA_ © (2006-11-02 23:23) [129]А что уже появился однопроходный копилятор С++?
← →
Ketmar © (2006-11-02 23:34) [130]>[129] KA_(c) 2-Nov-2006, 23:23
>А что уже появился однопроходный копилятор С++?
а в чём, собственно, проблема? %-)
кстати: что, Delphi/FPC, по-твоему, однопроходны? таки я тебя разочарую: ни разу.
← →
megabyte-ceercop © (2006-11-03 07:11) [131]Именно! Качество игры целиком зависит от количества проходов в компиляторе.
:)
← →
KA_ © (2006-11-03 11:47) [132]Нда. Порылся в интернете и убедился как глубоко я заблуждался :)
← →
Slavikkk © (2006-11-03 12:08) [133]Delphi 2006 - самый удобный компилятор, всегда показывает где ошибка и работает быстро. Пробовал MS c++ 2005 - неудобно и иза неудобство срок разработки может растянутся в разы. OpenGl - дас гуд, но запутался в расширениях, так что пока из всего перепробавонного остановился на Delphi 2006 + Directx9. Но это моё мнение. По скорости работы... Грузите по полной видеокарту шейдерами и оптимизируйте не только под интел, но и под AMD и будет счастье. Кто то скажет нет оддержки 64 бит, Borland обещал её в следующем году. Мультиплатформенность мало кому нужна. Для консолей свои SDK и там надо смотреть может хидеры есть возможность под делфю переписать.
Но одно но - В Российском геймдеве требуются програмисты только С++, но они получают меньше чем програмисты Б.Д. (в Москве)
← →
MeF Dei Corvi © (2006-11-03 13:03) [134]Пока Borland не сделает качественный компилятор, Delphi не получит сильного распространения в геймдеве. В 2006 компиляторе глюков куча, а скорость скомпилированных программ даже ниже скорости аналогичных программ, скомпилированных на Delphi5. Даже поддержка инлайна ИМХО не сильно спасает.
← →
Shirson © (2006-11-03 13:44) [135]До сих пор сижу на D6. Ляпота :)
← →
Ketmar © (2006-11-03 13:59) [136]>[134] MeF Dei Corvi(c) 3-Nov-2006, 13:03
>а скорость скомпилированных
>программ даже ниже скорости аналогичных программ,
>скомпилированных на Delphi5.
тестики?
← →
MeF Dei Corvi © (2006-11-03 17:07) [137]
> тестики?
были :) Судя по ним Delphi 5 самый быстрый, за ним D7. D2006 вроде даже медленнее C# был. Можно восстановить, если есть желание проверить.
← →
DeadMeat © (2006-11-04 12:36) [138]Есть.. Чисто из банального интереса.
← →
MeF Dei Corvi © (2006-11-04 16:10) [139]
> Есть.. Чисто из банального интереса.
Если есть желающие потестить, могу им предложить написать тесты ;)
← →
Ketmar © (2006-11-04 19:10) [140]>[139] MeF Dei Corvi(c) 4-Nov-2006, 16:10
>Если есть желающие потестить, могу им предложить написать
>тесты ;)
ты, однако, сам напиши. и выложи. а то трындеть -- это просто. а вот как до обоснований доходит -- сразу проблемы начинаются.
← →
MeF Dei Corvi © (2006-11-04 21:42) [141]
> ты, однако, сам напиши. и выложи. а то трындеть -- это просто.
> а вот как до обоснований доходит -- сразу проблемы начинаются.
Я для себя уже сделал выводы о производительности. Сказанное мною о качестве компиляторов, естественно ИМХО, как и вообще всё, что я говорю. Переубеждать окружающих не собираюсь. Кому надо, тот проверит.
← →
Ketmar © (2006-11-04 23:19) [142]слив защитан.
← →
MeF Dei Corvi © (2006-11-05 01:13) [143]
> слив защитан.
Взаимно. Лично мне лениво ставить D5 и D7, чтобы тестить.
← →
Ketmar © (2006-11-05 03:54) [144]>[143] MeF Dei Corvi(c) 5-Nov-2006, 01:13
>Лично мне лениво ставить D5 и D7, чтобы тестить.
скажи проще: "имел я в виду отвечать за свои слова". ага?
← →
MeF Dei Corvi © (2006-11-05 13:41) [145]
> скажи проще: "имел я в виду отвечать за свои слова". ага?
Написать тест, охватывающий всё довольно сложно. Так уж и быть поддамся на твою провокацию и потестю D2006 и D7.
Тест писать не стал. Взял первый попавшийся из гугля.program DelphiBenchV2;
{$APPTYPE CONSOLE}
uses
SysUtils,
classes,
Windows,
Math;
type
TBenchMarkDelphi = class
private
startTime: Integer;
stopTime: Integer;
elapsedTime: Integer;
function intArithmetic(const IntMax: Integer): Int64;
function doubleArithmetic(const doubleMin, doubleMax: Double): Int64;
function longArithmetic(const longMin, longMax: comp): Int64;
function trig(const trigMax: double): Int64;
function io(const ioMax: Integer): Int64;
procedure Run;
end;
function TBenchMarkDelphi.intArithmetic(const IntMax: Integer): Int64;
var
intResult: Integer;
i: Integer;
begin
startTime := GetTickCount;
intResult := 1;
i := 1;
while (i < intMax) do begin
inc(i);
dec(intResult, i);
inc(i);
inc(intResult, i);
inc(i);
intResult := intResult * i;
inc(i);
intResult := intResult div i;
end;
stopTime := GetTickCount;
elapsedTime := stopTime - startTime;
Writeln("Int arithmetic elapsed time: " + IntToStr(elapsedTime) +
" ms with max of " + IntToStr(intMax));
Writeln(" i: " + IntToStr(i));
Writeln(" intResult: " + IntToStr(intResult));
Result := Int64(elapsedTime);
end;
function TBenchMarkDelphi.doubleArithmetic(const doubleMin, doubleMax: Double): Int64;
var
doubleResult: double;
i: double;
begin
startTime := GetTickCount;
doubleResult := doubleMin;
i := doubleMin;
while (i < doubleMax) do begin
i := i + 1;
doubleResult := doubleResult - i;
i := i + 1;
doubleResult := doubleResult + i;
i := i + 1;
doubleResult := doubleResult * i;
i := i + 1;
doubleResult := doubleResult / i;
end;
stopTime := GetTickCount;
elapsedTime := stopTime - startTime;
Writeln("Double arithmetic elapsed time: " + IntToStr(elapsedTime) +
" ms with min of " + FloatToStr(doubleMin) + ", max of " + FloatToStr(doubleMax));
Writeln(" i: " + FloatToStr(i));
Writeln(" doubleResult: " + FloatToStr(doubleResult));
Result:=Int64(elapsedTime);end;
function TBenchMarkDelphi.longArithmetic(const longMin, longMax: comp): Int64;
var
longResult: comp;
i: comp;
begin
startTime := GetTickCount;
longResult := longMin;
i := longMin;
Set8087CW($133F);
while (i < longMax) do begin
i := i + 1;
longResult := longResult - i;
i := i + 1;
longResult := longResult + i;
i := i + 1;
longResult := longResult * i;
i := i + 1;
longResult := longResult / i;
end;
stopTime := GetTickCount;
elapsedTime := stopTime - startTime;
Writeln("Long arithmetic elapsed time: " + IntToStr(elapsedTime) +
" ms with min of " + FloatToStr(longMin) + ", max of " + FloatToStr(longMax));
Writeln(" i: " + FloatToStr(i));
Writeln(" longResult: " + FloatToStr(longResult));
Result := Int64(elapsedTime);
end;
function TBenchMarkDelphi.trig(const trigMax: double): Int64;
var
sine, cosine, tangent, logarithm, squareRoot, i: double;
begin
startTime := GetTickCount;
sine := 0;
cosine := 0;
tangent := 0;
logarithm := 0;
squareRoot := 0;
i := 0;
while (i < trigMax) do begin
i := i + 1;
sine := Sin(i);
cosine := Cos(i);
tangent := Tan(i);
logarithm := Log10(i);
squareRoot := Sqrt(i);
end;
stopTime := GetTickCount;
elapsedTime := stopTime - startTime;
Writeln("Trig elapsed time: " + IntTostr(elapsedTime) +
" ms with max of " + FloatToStr(trigMax));
Writeln(" i: " + FloatToStr(i));
Writeln(" sine: " + FloatToStr(sine));
Writeln(" cosine: " + FloatToStr(cosine));
Writeln(" tangent: " + FloatToStr(tangent));
Writeln(" logarithm: " + FloatToStr(logarithm));
Writeln(" squareRoot: " + FloatToStr(squareRoot));
Result := Int64(elapsedTime);
end;
function TBenchMarkDelphi.io(const ioMax: Integer): Int64;
const textLine="abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz12345678 90abcdefgh";
var
myLine: string;
i: integer;
F: textfile;
begin
startTime := GetTickCount;
i := 0;
try
AssignFile(F, "c:\TestDelphi.txt");
Rewrite(F);
while (i < ioMax) do begin
Writeln(F, textLine);
Inc(i);
end;
CloseFile(F);
i := 0;
AssignFile(F, "c:\TestDelphi.txt");
Reset(F);
while (i < ioMax) do begin
Readln(F, myLine);
inc(i);
end;
CloseFile(F);
except
on e: exception do Writeln(e.Message);
end;
stopTime := GetTickCount;
elapsedTime := stopTime - startTime;
Writeln("IO elapsed time: " + IntToStr(elapsedTime) +
" ms with max of " + IntToStr(ioMax));
Writeln(" i: " + IntToStr(i));
Writeln(" myLine: " + myLine);
Result := Int64(elapsedTime);
end;
procedure TBenchMarkDelphi.Run;
var
intArTime, doubleArTime, longArTime, trigTime, ioTime, totalTime: Int64;
begin
Writeln("Start Delphi silly benchmark");
intArTime := intArithmetic(1000000000);
doubleArTime := doubleArithmetic(10000000000, 11000000000);
longArTime := longArithmetic(10000000000, 11000000000);
trigTime := trig(10000000);
ioTime := io(1000000);
totalTime := intArTime + doubleArTime + longArTime + trigTime + ioTime;
Writeln("Total Delphi benchmark time: " + IntToStr(totalTime) + " ms");
Writeln("End Delphi benchmark");
end;
var MyBench: TBenchMarkDelphi;
begin
MyBench := TBenchMarkDelphi.Create;
MyBench.Run;
MyBench.Free;
end.
Тест запускался несколько раз. Вот усредненное полное время выполнения тестов для D7 и D2006:
D7: 99836
D206: 103570
Разница около 5%. Разница, конечно, незначительная, но за свои слова я всё же отвечаю.
В D2006 правда стоит FastMM v4.62, а в D7 - стандартный, но сильно повлиять это не должно.
Компилятора ни от D2, D3, ни от D5 у меня нет. Судя по тестам на
http://itc.ua/article.phtml?ID=15800&IDw=33&pid=52
код сгенерированный D2 и D3 работал почти в два раза быстрее аналога на D5-D7.
А вообще, сколько тестов, столько и результатов. Например, по некоторым тестам C# значительно обгонял D7, по моему опыту C# не быстрее D7 (но быстрее D2006). Тесты, которые проводили любители FPC показывали, что FPC быстрее Delphi. Судя по вышеприведенному тесту, FPC вообще курит в сторонке вне зависимости от настроек компиляции, т.к. в лучшем случае FPC проигрывал процентов 20.
← →
MeF Dei Corvi © (2006-11-05 13:45) [146]Согласен, что тест бредовый и вообще подобное тестирование - безусловно глупость.
← →
MeF Dei Corvi © (2006-11-05 13:47) [147]
> http://itc.ua/article.phtml?ID=15800&IDw=33&pid=52
гм. Вчитался повнимательнее в это. Жуткий бред.
← →
Ketmar © (2006-11-05 15:01) [148]что интересно: у меня результаты прямо противоположные. весело и радостно отстаёт D7. то ли тест таки дебильный (как и признаётся при запуске %-), то ли у меня марсианские Delphi.
← →
Vansss (2006-11-11 14:15) [149]Delfhi это только начало!!!!!
потом идут более сложные языки типо С + + и т.д.
← →
Ketmar © (2006-11-11 15:03) [150]Удалено модератором
← →
Fosgen (2006-11-11 20:47) [151]Возвращаясь к теме ветки - в подтверждение того что на Дельфи можно сделать полноценную игру:
Кибервойны: Прототип 2700 - чел писал в одиночку, на Дельфе. Потом у него перекупила контора Dragon Software и испортила, но издала. Но проект все-таки вышел в свет - это можно засчитать как продукт профессионального геймдева на Дельфи? Или что тогда - "профессиональный"?
← →
MeF Dei Corvi © (2006-11-14 01:17) [152]
> что интересно: у меня результаты прямо противоположные.
> весело и радостно отстаёт D7. то ли тест таки дебильный
> (как и признаётся при запуске %-), то ли у меня марсианские
> Delphi.
Либо марсианский компьютер :) Тест дебильный, ассемблер всё-равно круче ;) GetTickCount - не лучший способ замера времени.
← →
Ketmar © (2006-11-14 02:18) [153]>[152] MeF Dei Corvi(c) 14-Nov-2006, 01:17
>Либо марсианский компьютер :)
pIII/600. %-)
>GetTickCount
кто ж о нём говорит? более того: замер времени в винде вообще мало смысла имеет, потому что не RTOS.
← →
grisme © (2006-11-14 02:26) [154]>кто ж о нём говорит? более того: замер времени в винде вообще мало смысла имеет, потому что не RTOS.
а куда ж деваться-то? :)
← →
Ketmar © (2006-11-14 02:33) [155]>[154] grisme(c) 14-Nov-2006, 02:26
>а куда ж деваться-то? :)
QNX.
%-)
← →
XProger © (2006-11-14 12:08) [156]Fosgen, не Titan 2175 в обработке ли это? По скринам очень смахивает...
← →
Fosgen (2006-11-14 13:36) [157]XProger, да он самый от IMP"а....
← →
MeF Dei Corvi © (2006-11-14 13:36) [158]
> а куда ж деваться-то? :)
Брать лыжи и в лес...
Страницы: 1 2 3 4 вся ветка
Текущий архив: 2007.11.18;
Скачать: CL | DM;
Память: 0.94 MB
Время: 0.022 c