Автор | Сообщение |
Dagamon = 1st Lieutenant =
 | 2061 |
 Doom Rate: 1.04
|
Отправлено: 03.12.13 09:41:39 | | | Omikron : | Си-шарп - для ускоренной разработки программы, которая будет работать в разы медленнее. Обычно время играет роль в коммерческих проектах, которые порой нужно выполнить по-быстрее (штамповать софт и продавать с той же скоростью, с какой выпускает свои книги Дарья Донцова). Для дум порта, я думаю, не надо делать таких жертв, а сделать все на совесть. |
Это да, но вспомни на чём написан Doom Builder 2, сколько раз он у тебя лагал?
Да, у си шарпа очень высокие требования к системе, но то что программы будут лагать это 30%.
Omikron : | Почему бы не взять исходник порта, оставить там только код вывода, код работы с вадами, код ввода и т. д. (Короче без лишней мишуры) и не попробовать сделать что-нибудь из них? |
Ты хочешь сказать что в си шарп можно впихнуть другой язык? Ну-ну посмотрим. | |
|
1 |
3 |
 |
|
| |
BFG2407 = 2nd Lieutenant =
 | 1582 |
 Doom Rate: 1.67
|
Отправлено: 03.12.13 10:04:02 | | | Dagamon
Тогда уже взять Lua - не? Кроссплатформенно и быстро (как по скорости разработки, так и производительности). Байткод машины есть, даже на Java машине исполняется можно собрать свой JIT. Люблю этот язык сейчас его изучаю. | |
|
| |
c4tnt = 1st Lieutenant =
 | 1879 |
 Doom Rate: 1.92
|
Отправлено: 03.12.13 10:20:42 | | | Си-шарл, луа... где ж мой попкрон то.
http://habrahabr.ru/post/191250/
Оттуда:
Soft run: 60
Cold jit run: 46
Hot jit run: 28
Patched cold jit run: 12
Patched hot jit run: 9
Разница между компилируемым языком и JIT-ом в том, что компилируемый язык всегда не хуже Patched hot JIT. | |
|
| |
VladGuardian = Major =
 | 3094 |
 Doom Rate: 1.17
|
Отправлено: 03.12.13 10:22:58 | | | Dagamon : | в си шарп можно впихнуть другой язык? Ну-ну посмотрим. |
Насколько я знаю, в виде вызовов внешних функций из DLL (а уж та DLL может быть написана практически на любом языке, хоть на Фортране).
It's a traditional way since 1995 (Windows 95).
Вызвать одну-две-три, ну десять функций из внешней DLL-ки -- одно дело,
другое, когда ты плотно используешь библиотеку, постоянно вызывая ее функции...
Dagamon : | на чём написан Doom Builder 2, сколько раз он у тебя лагал? |
Одно дело редактор (на самом деле простенький, гораздо проще даже того же AutoCAD-а).
Другое дело - игра, которая В ИДЕАЛЕ должна стабильно выдавать 60 FPS, на сценах практически любой сложности.
Оптимально работать с железом (аудио, видео).
Я не слышал пока, чтобы что-то серъезное (симулятор, стретегия, шутер) было написано на C#.
Хотя идеологически, синтаксически C# мне например, как программисту очень по душе.
По удобству использования, "современности" синтаксиса - мне гораздо больше по духу C#, нежели покрывшийся пылью C++, с его АБСОЛЮТНО идиотскими конструкциями (да взять тот же STL, любая мало-мальски практическая конструкция сложно воспринимается на глаз).
Да, когда-то C++ был крутым языком (и сейчас остается таким), но его синтаксис в сравнении с C# -- JUST SUCKS
Так что... идеального во всех смыслах языка ПОКА не создано.
Был бы Си-шарп ПОЛНОСТЬЮ компилируемый в маш.код -- цены бы ему не было. ЦЕНЫ Б ЕМУ НЕ БЫЛО!
И таки да, DB2 подлагивает у меня (на одноядерном Интел-Пентиуме 2003 г. выпуска). Впрочем, это не мешает в работе с ним.
А если выполнять какие-то групповые операции (скажем, градиентную закраску цепочки секторов, или автоматизированное создание ступенек), малая скорость работы этого самого си-шарпа хорошо заметна на глаз.
DB1 подобным лаганием не отличается... | |
|
1 |
7 |
13 |
 |
|
| |
c4tnt = 1st Lieutenant =
 | 1879 |
 Doom Rate: 1.92
|
Отправлено: 03.12.13 10:41:15 | | | | Был бы Си-шарп ПОЛНОСТЬЮ компилируемый в маш.код |
Managed memory в машинный код? В принципе можно конечно, но маловероятно. Плюс сам managed начнёт подлагивать со своей стороны уже.
Ну а вообще чисто исторически C - это системный язык, С++ это он же с привкусом медведя объектов. Быстродействие при разумном использовании остаётся от сишки, а за счёт шаблонов можно и быстрее в некоторых случаях. Не для красивого синтаксиса его делали, конечно. | |
|
| |
BFG2407 = 2nd Lieutenant =
 | 1582 |
 Doom Rate: 1.67
|
Отправлено: 03.12.13 11:20:50 | | | VladGuardian
Есть проект запиленный на C# - Dischonored.... или как-то так, название забубённое, но короче кто играл тот знал, проект от дизайнера ХЛ2 | |
|
| |
c4tnt = 1st Lieutenant =
 | 1879 |
 Doom Rate: 1.92
|
Отправлено: 03.12.13 11:39:33 | | | Там вроде есть читерство под названием XNA
Ну и маленько позитива в тему, а то наоффтопили почём зря. Например, сейчас не существует такого порта, который бы позволял играть в моды и при этом писать стабильные демки. Нет порта для создания модов ( чтобы был нормальный скриптинг ). Нет мультиплеер-порта с хорошим неткодом и возможностью создавать новые режимы игры в старый добрый дум. Зандронум не предлагать, это даже не смешно. Нет воксельного дума. Почему бы не создать всё это, желательно в рамках одного уютненького порта. | |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 03.12.13 12:20:20 | | | BFG2407 : | Есть проект запиленный на C# - Dischonored.... или как-то так, название забубённое, но короче кто играл тот знал, проект от дизайнера ХЛ2 |
Нет. По крайней мере по той причине, что игра работает на PS3, и писать код на шарпе для таких больших проектов ни один здравомыслящий человек не станет. Этим ограничиваются индюшки всякие и прочие, которые в хбокс лайв пихают свои проивзедения.
PS Dis|honored, я думаю очевидно, что значит название.
c4tnt : | Нет воксельного дума. |
(G)ZDoom могёт, насчет производных не в курсе, но скорее всего там полный зандронум. | |
|
2 |
1 |
1 |
 |
|
| |
Dagamon = 1st Lieutenant =
 | 2061 |
 Doom Rate: 1.04
|
Отправлено: 03.12.13 13:27:07 | | | BFG2407 : | Тогда уже взять Lua - не? Кроссплатформенно и быстро |
Я его не изучаю.
VladGuardian : | Был бы Си-шарп ПОЛНОСТЬЮ компилируемый в маш.код -- цены бы ему не было. ЦЕНЫ Б ЕМУ НЕ БЫЛО! |
C# использует среду .NET, в этой среде встроен компилятор, компилирующий код в ассемблер, а потом уже в машинный код.
Короче всё у него нормально там компилируется, разве что по схеме которую я выявил, очень медленно.
c4tnt : | Там вроде есть читерство под названием XNA |
SlimDX лучше)))
VladGuardian : | И таки да, DB2 подлагивает у меня (на одноядерном Интел-Пентиуме 2003 г. выпуска) |
У меня тоже на старом компе. | |
|
1 |
3 |
 |
|
| |
BFG2407 = 2nd Lieutenant =
 | 1582 |
 Doom Rate: 1.67
|
Отправлено: 03.12.13 13:32:11 | | | Dagamon : | C# использует среду .NET, в этой среде встроен компилятор, компилирующий код в ассемблер, а потом уже в машинный код.
Короче всё у него нормально там компилируется, разве что по схеме которую я выявил, очень медленно. |
Поспорю однако! С# собирается в тот же JIT, просто .NET среда вставляет фреймворк (наподобии как флешка в .exe), а "дизасемблируется" такая компиляция по-детски смешно.
c4tnt
Ты знаешь: я всеми фибрами "за" | |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
|
2 |
1 |
1 |
 |
|
| |
Dagamon = 1st Lieutenant =
 | 2061 |
 Doom Rate: 1.04
|
|
1 |
3 |
 |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 03.12.13 13:44:28 | | | Dagamon : | CIL это не фреймворк. |
Dagamon : | Короче всё у него нормально там компилируется, разве что по схеме которую я выявил, очень медленно. |
Ты понимаешь вообще о чем говоришь? Компилируется он не в нативный код, а в CIL, который потом интерпретируется на разных машинах по разному. Интерпритация как раз и отнимает значительное время выполнения.
А ты сам можешь сказать хоть чем лучше? На заборе тоже написано. | |
|
2 |
1 |
1 |
 |
|
| |
VladGuardian = Major =
 | 3094 |
 Doom Rate: 1.17
|
Отправлено: 03.12.13 13:45:38 | | | Dagamon
http://ru.wikipedia.org/wiki/Common_Intermediate_Language
Archi : | Компилируется он не в нативный код, а в CIL, который потом интерпретируется на разных машинах по разному. Интерпритация как раз и отнимает значительное время выполнения. |
С некоторыми оговорками:
http://en.wikipedia.org/wiki/Common_Intermediate_Language : | Ahead-of-time compilation may also be used, which eliminates this step, but at the cost of executable file portability. |
| |
|
1 |
7 |
13 |
 |
|
| |
Dagamon = 1st Lieutenant =
 | 2061 |
 Doom Rate: 1.04
|
Отправлено: 03.12.13 13:48:01 | | | Archi : | Компилируется он не в нативный код, а в CIL, который потом интерпретируется на разных машинах по разному. |
Именно в нативный код и компилируется.
Код -> .NET -> Ассемблирование -> Нативный код. | |
|
1 |
3 |
 |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 03.12.13 13:48:42 | | | Ты не понимаешь о чем говоришь. Можешь не продолжать. | |
|
2 |
1 |
1 |
 |
|
| |
Dagamon = 1st Lieutenant =
 | 2061 |
 Doom Rate: 1.04
|
Отправлено: 03.12.13 13:49:01 | | | Хотя возможно в .NET такая хрень и встроена, просто ничего о ней не слышал.
Добавлено спустя 4 минуты 54 секунды:
Просто когда я учил C# об том, что код компилируется в этот CIL я не слышал, читал что в ассемблер. | |
|
1 |
3 |
 |
|
| |
Omikron = Sergeant Major =
 | 629 |
 Doom Rate: 1.68
|
Отправлено: 03.12.13 14:20:20 | | | Dagamon : | Doom Builder 2, сколько раз он у тебя лагал? |
Ни разу не лагал. Я его даже ни разу не включал. И вообще я не маппер. Так, что мимо.
Dagamon : | Omikron : |
Почему бы не взять исходник порта, оставить там только код вывода, код работы с вадами, код ввода и т. д. (Короче без лишней мишуры) и не попробовать сделать что-нибудь из них? |
Ты хочешь сказать что в си шарп можно впихнуть другой язык? Ну-ну посмотрим. |
Нет, это был ты. Цитата:
Dagamon : | перекодировать там всё йухан и внести своё семечко в код |
Я же имел ввиду, что дос - это слишком жестко. Нужно ковырять апи операционной системы (если не ошибаюсь, это называют прерываниями), работу с памятью и УВВ, всякие защищенные режимы и тому подобную ересь. Посоветовал поковырять виндовый исходник (естественно, порта), благо, (надеюсь) там этого нету.
Не хочу с тобой ругаться. Я сказал свое мнение. Естественно, я не указ. Делай как хош.
BFG2407 : | Ох ребятки, давно предлагаю эксперимент... |
Я за. Очень интересно было бы посмотреть на идеальный порт. Думаю при такой тотальной переделке он уже портом не будет являться. Совместимость со старыми вадами/модами можно было бы сделать при помощи конвертирования оных в новый формат. Можно было бы даже сделать некий Template - минимальный набор: движок, стандартная графика, стандартные модельки, стандартные уровни в новом формате и т. д. (короче что-то типа того, что сейчас представляют из себя DOOM.WAD, DOOM2.WAD и т. д.), поверх которых уже можно будет делать то, что сейчас делают мапперы.
Я бы поучавствовал. Лет через 5. Сейчас я в 3Д-графике, к сожалению, не шарю.
А по поводу вокселей хз. Они ж вроде аппаратно не поддерживаются. А мы тут речь ведем об OpenGL.
Добавлено спустя 5 минут 56 секунд:
Dagamon : | Код -> .NET -> Ассемблирование -> Нативный код. |
Dagamon : | читал что в ассемблер. |
Позволь, я объясню. На этапе компиляции просходит "Код -> .NET", а на этапе выполнения "Ассемблирование" и "Нативный код". Впринципе, в эти четыре ступеньки укладывается. Собственно трансляция этого самого дотнета каждый раз на этапе выполнения и дает проигрыш в скорости.
(Вроде так) | |
|
1 |
11 |
 |
|
| |
BFG2407 = 2nd Lieutenant =
 | 1582 |
 Doom Rate: 1.67
|
Отправлено: 03.12.13 14:33:20 | | | Omikron
| А по поводу вокселей хз. Они ж вроде аппаратно не поддерживаются. |
Ну зря ты так ) воксели которые есть думовские, вполне можно грузить как 3д текстуры (теже воксели, но не с упорядоченной системой хранения, поддерживаются аппаратно, имеют правда много ограничений, но дум воксели так можно использовать)
Dagamon
если компиляция идёт в ассемблер объясни тогда, почему при дизасемблировании код распаковывает обратно в С#, а не в кривой asm, который требует доводки ручками? | |
|
| |
Dagamon = 1st Lieutenant =
 | 2061 |
 Doom Rate: 1.04
|
Отправлено: 03.12.13 14:37:15 | | | BFG2407 : | почему при дизасемблировании код распаковывает обратно в С#, а не в кривой asm, который требует доводки ручками? |
Блин я только начинающий программист, хз что ты счас сказал. | |
|
1 |
3 |
 |
|
| |