Автор | Сообщение |
Dagamon - 2nd Lieutenant -
| | 1295 |
Doom Rate: 1.47 Posts quality: +304 |
Отправлено: 03.12.13 09:41:39 | | | Omikron: | Си-шарп - для ускоренной разработки программы, которая будет работать в разы медленнее. Обычно время играет роль в коммерческих проектах, которые порой нужно выполнить по-быстрее (штамповать софт и продавать с той же скоростью, с какой выпускает свои книги Дарья Донцова). Для дум порта, я думаю, не надо делать таких жертв, а сделать все на совесть. |
Это да, но вспомни на чём написан Doom Builder 2, сколько раз он у тебя лагал? Да, у си шарпа очень высокие требования к системе, но то что программы будут лагать это 30%.
Omikron: | Почему бы не взять исходник порта, оставить там только код вывода, код работы с вадами, код ввода и т. д. (Короче без лишней мишуры) и не попробовать сделать что-нибудь из них? |
Ты хочешь сказать что в си шарп можно впихнуть другой язык? Ну-ну посмотрим. | |
|
1 |
3 |
4 |
|
|
| |
BFG2407 = Warrant Officer =
| 1211 |
Doom Rate: 1.38 Posts quality: +235 |
Отправлено: 03.12.13 10:04:02 | | | Dagamon Тогда уже взять Lua - не? Кроссплатформенно и быстро (как по скорости разработки, так и производительности). Байткод машины есть, даже на Java машине исполняется можно собрать свой JIT. Люблю этот язык сейчас его изучаю. | |
|
2 |
2 |
1 |
|
|
| |
c4tnt UAC Sergeant Major
| 796 |
Doom Rate: 1.92 Posts quality: +5 |
Отправлено: 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 = Commissar =
| 5537 |
Doom Rate: 1.28 Posts quality: +1934 |
Отправлено: 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 подобным лаганием не отличается... | |
|
4 |
10 |
23 |
|
|
| |
c4tnt UAC Sergeant Major
| 796 |
Doom Rate: 1.92 Posts quality: +5 |
Отправлено: 03.12.13 10:41:15 | | | | Был бы Си-шарп ПОЛНОСТЬЮ компилируемый в маш.код |
Managed memory в машинный код? В принципе можно конечно, но маловероятно. Плюс сам managed начнёт подлагивать со своей стороны уже.
Ну а вообще чисто исторически C - это системный язык, С++ это он же с привкусом медведя объектов. Быстродействие при разумном использовании остаётся от сишки, а за счёт шаблонов можно и быстрее в некоторых случаях. Не для красивого синтаксиса его делали, конечно. | |
|
| |
BFG2407 = Warrant Officer =
| 1211 |
Doom Rate: 1.38 Posts quality: +235 |
Отправлено: 03.12.13 11:20:50 | | | VladGuardian Есть проект запиленный на C# - Dischonored.... или как-то так, название забубённое, но короче кто играл тот знал, проект от дизайнера ХЛ2 | |
|
2 |
2 |
1 |
|
|
| |
c4tnt UAC Sergeant Major
| 796 |
Doom Rate: 1.92 Posts quality: +5 |
Отправлено: 03.12.13 11:39:33 | | | Там вроде есть читерство под названием XNA
Ну и маленько позитива в тему, а то наоффтопили почём зря. Например, сейчас не существует такого порта, который бы позволял играть в моды и при этом писать стабильные демки. Нет порта для создания модов ( чтобы был нормальный скриптинг ). Нет мультиплеер-порта с хорошим неткодом и возможностью создавать новые режимы игры в старый добрый дум. Зандронум не предлагать, это даже не смешно. Нет воксельного дума. Почему бы не создать всё это, желательно в рамках одного уютненького порта. | |
|
| |
Archi]ASTS[ = Commissar =
| 5405 |
Doom Rate: 1.9 Posts quality: +61 |
Отправлено: 03.12.13 12:20:20 | | | BFG2407: | Есть проект запиленный на C# - Dischonored.... или как-то так, название забубённое, но короче кто играл тот знал, проект от дизайнера ХЛ2 |
Нет. По крайней мере по той причине, что игра работает на PS3, и писать код на шарпе для таких больших проектов ни один здравомыслящий человек не станет. Этим ограничиваются индюшки всякие и прочие, которые в хбокс лайв пихают свои проивзедения.
PS Dis|honored, я думаю очевидно, что значит название.
c4tnt: | Нет воксельного дума. |
(G)ZDoom могёт, насчет производных не в курсе, но скорее всего там полный зандронум. | |
|
1 |
2 |
1 |
|
|
| |
Dagamon - 2nd Lieutenant -
| | 1295 |
Doom Rate: 1.47 Posts quality: +304 |
Отправлено: 03.12.13 13:27:07 | | | BFG2407: | Тогда уже взять Lua - не? Кроссплатформенно и быстро |
Я его не изучаю.
VladGuardian: | Был бы Си-шарп ПОЛНОСТЬЮ компилируемый в маш.код -- цены бы ему не было. ЦЕНЫ Б ЕМУ НЕ БЫЛО! |
C# использует среду .NET, в этой среде встроен компилятор, компилирующий код в ассемблер, а потом уже в машинный код. Короче всё у него нормально там компилируется, разве что по схеме которую я выявил, очень медленно.
c4tnt: | Там вроде есть читерство под названием XNA |
SlimDX лучше)))
VladGuardian: | И таки да, DB2 подлагивает у меня (на одноядерном Интел-Пентиуме 2003 г. выпуска) |
У меня тоже на старом компе. | |
|
1 |
3 |
4 |
|
|
| |
BFG2407 = Warrant Officer =
| 1211 |
Doom Rate: 1.38 Posts quality: +235 |
Отправлено: 03.12.13 13:32:11 | | | Dagamon: | C# использует среду .NET, в этой среде встроен компилятор, компилирующий код в ассемблер, а потом уже в машинный код.
Короче всё у него нормально там компилируется, разве что по схеме которую я выявил, очень медленно. |
Поспорю однако! С# собирается в тот же JIT, просто .NET среда вставляет фреймворк (наподобии как флешка в .exe), а "дизасемблируется" такая компиляция по-детски смешно.
c4tnt Ты знаешь: я всеми фибрами "за" | |
|
2 |
2 |
1 |
|
|
| |
Archi]ASTS[ = Commissar =
| 5405 |
Doom Rate: 1.9 Posts quality: +61 |
|
1 |
2 |
1 |
|
|
| |
Dagamon - 2nd Lieutenant -
| | 1295 |
Doom Rate: 1.47 Posts quality: +304 |
|
1 |
3 |
4 |
|
|
| |
Archi]ASTS[ = Commissar =
| 5405 |
Doom Rate: 1.9 Posts quality: +61 |
Отправлено: 03.12.13 13:44:28 | | | Dagamon: | CIL это не фреймворк. |
Dagamon: | Короче всё у него нормально там компилируется, разве что по схеме которую я выявил, очень медленно. |
Ты понимаешь вообще о чем говоришь? Компилируется он не в нативный код, а в CIL, который потом интерпретируется на разных машинах по разному. Интерпритация как раз и отнимает значительное время выполнения.
А ты сам можешь сказать хоть чем лучше? На заборе тоже написано. | |
|
1 |
2 |
1 |
|
|
| |
VladGuardian = Commissar =
| 5537 |
Doom Rate: 1.28 Posts quality: +1934 |
Отправлено: 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: | n_Intermediate_Language">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. |
| |
|
4 |
10 |
23 |
|
|
| |
Dagamon - 2nd Lieutenant -
| | 1295 |
Doom Rate: 1.47 Posts quality: +304 |
Отправлено: 03.12.13 13:48:01 | | | Archi: | Компилируется он не в нативный код, а в CIL, который потом интерпретируется на разных машинах по разному. |
Именно в нативный код и компилируется. Код -> .NET -> Ассемблирование -> Нативный код. | |
|
1 |
3 |
4 |
|
|
| |
Archi]ASTS[ = Commissar =
| 5405 |
Doom Rate: 1.9 Posts quality: +61 |
Отправлено: 03.12.13 13:48:42 | | | Ты не понимаешь о чем говоришь. Можешь не продолжать. | |
|
1 |
2 |
1 |
|
|
| |
Dagamon - 2nd Lieutenant -
| | 1295 |
Doom Rate: 1.47 Posts quality: +304 |
Отправлено: 03.12.13 13:49:01 | | | Хотя возможно в .NET такая хрень и встроена, просто ничего о ней не слышал.
Добавлено спустя 4 минуты 54 секунды:
Просто когда я учил C# об том, что код компилируется в этот CIL я не слышал, читал что в ассемблер. | |
|
1 |
3 |
4 |
|
|
| |
Omikron = Lance Corporal =
| 186 |
Doom Rate: 1.68 Posts quality: +2 |
Отправлено: 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 = Warrant Officer =
| 1211 |
Doom Rate: 1.38 Posts quality: +235 |
Отправлено: 03.12.13 14:33:20 | | | Omikron
| А по поводу вокселей хз. Они ж вроде аппаратно не поддерживаются. |
Ну зря ты так ) воксели которые есть думовские, вполне можно грузить как 3д текстуры (теже воксели, но не с упорядоченной системой хранения, поддерживаются аппаратно, имеют правда много ограничений, но дум воксели так можно использовать)
Dagamon если компиляция идёт в ассемблер объясни тогда, почему при дизасемблировании код распаковывает обратно в С#, а не в кривой asm, который требует доводки ручками? | |
|
2 |
2 |
1 |
|
|
| |
Dagamon - 2nd Lieutenant -
| | 1295 |
Doom Rate: 1.47 Posts quality: +304 |
Отправлено: 03.12.13 14:37:15 | | | BFG2407: | почему при дизасемблировании код распаковывает обратно в С#, а не в кривой asm, который требует доводки ручками? |
Блин я только начинающий программист, хз что ты счас сказал. | |
|
1 |
3 |
4 |
|
|
| |