![]() |
Я хочу добавить только одно. То, как и с какой скоростью работает программа, в большей степени зависит от "пряморукости" програмера, который ее написал, а потом уже от языка. Gothic III, написанная на native, тормозила не хило, тоже было и с NWN2, написанной на managed, но вышли патчи, и все норм работает. Это вопрос удобства и скорости разработки. Большинство предпочитают C++ ассамблеру потому, что си УДОБНЕЕ и кодить под него БЫСТРЕЕ, чем под ассамблер. Пока, в чистом виде, xna пригоден для разработки казуальшины, но майкры двигают ее не из благих побуждений, а из-за наживы - xna работает на двух платформах: Win и XBOX360. И уж поверте, если майкрософт тянется за деньгами, она из получает. Через некоторое время разработчики перейдут на XNA хотя бы только потому, что она ЭКОНОМИЧЕСКИ эффективней, чем c++ и directX. Вот и все.
|
Цитата:
Если же сравнивать C++ либо Pascal c C# (что и пытался делать автор данной темы), то говорить о главенстве пряморукости программера просто глупо. C++ - язык, компилируемый в машинный код. C# - язык, компилируемый в байт-код, а потом интерпритируемый Framework'ом, да ещё с автоматической очисткой памяти. Отсюда следует, что даже кривыми руками написанная программа, если только в ней нет явных ошибок, да ещё скомпилированная оптимизирующим процессором имеет все шансы оказаться быстрее, нежели на C#. Просто потому, что язык C# по-умолчанию включает в себя кучу замедляющих работу вещей. И ещё давайте не будем забывать, что C++ предоставляет куда больше возможностей для оптимизации кода, нежели C# - опять же в силу низкоуровневых операций. Ну а повыкидывать ненужные блоки из кода и упростить нужные может, в принципе, и не такой крутой программист - если его заставят, конечно. :wnk: Цитата:
Впрочем, к теме это не слишком относится. Как я уже говорил, C# замедляет программы сами по себе. Конечно, на нём есть возможность использовать unsafe-код, да. Но тогда какой смысл в использовании C# как такового? Цитата:
Цитата:
Что же XNA удобнее и быстрее - попробуйте мне ещё доказать, ибо под C++ сейчас столько движков и наработок у всех имеется, что преимущества C# в скорости разработки мне не совсем понятны. Работа с памятью упрощена? И что? Нормальный программист delete где нужно и так писать не забывает, а не нормальный и в C# кучу ошибок наделает. Microsoft, конечно, известна своим упорством в делании денег. Однако сейчас, похоже, уже не так ситуация, когда она может выиграть. Сравните продажи/использование Висты и XP. Ох, как M$ Висту продвигали! DirectX 10! Давайте все переходите под висту, пишите под Висту! И что? Да плюнули разработчики игр на Висту, к счастью! А некоторые и DirectX в гробу видали - под OpenGL пишут. Так что M$ в кои-то веки дали по носу с её инициативами. И ещё ответьте: Вы читали интервью Страуструпа чуть выше? В кратце - для C++ реализованы дополнительные примочки, добавляющие в него преимущества C#. А теперь вопрос - так ёлки-палки, почему ими никто не пользуется, если это так "удобно" и "экономически выгодно", а C#'пом все вдруг вдохновятся, выкинут все движки/библиотеки на C++ и строем пойдут под XNA писать, а? Из-за XBOX? А не слишком ли это глупо - писать заведомо тормознутые игры только из-за приставки, опять же заведомо более тормознутой, нежели компьтер? |
Цитата:
Цитата:
Цитата:
Sorry, всемени нету. Продолжение следует... |
Цитата:
Цитата:
И опять же к медлительности - не забываем, C# сам по себе замедляет игру при том, что основные процедуры давно уже упакованы в библиотеки. Я хочу сказать, что все те же тормоза при разработке на C# останутся + добавятся ещё тормоза языка. И какой смысл в C# тогда? Цитата:
Жду конкретных возражений. |
Ну тут и баталия однако =) Я программирование знаю плохо но меня почему то больше убедил pokibor
=) |
Цитата:
Цитата:
Цитата:
|
такой вопрос: идёт ли работа DirectX под Framework через байт-код? Т.е. основная нагружаемая часть железа в играх - видео карты, процы же редко сильно нагружаются, а если игра через XNA идёт медленней только на процессоре, а на видео карте не отражается, то проблем нету и я могу плюнуть на относительную тормознутость. А вот если отражается на видео карте, то XNA говно полюбэ, ведь разрабочики всегда выжимают всё до последней капли из ведео карты(
|
Цитата:
Цитата:
Через видеокарту идут только достаточно низкоуровневые операции плюс шейдеры. Всё остальное грузит процессор. А игра - это, вообще-то, не только графика. Это ещё и физика, и огромные объёмы памяти. А память у нас в C# с автосборщиком. И вот этот автосборщик должен постоянно проверять, а нельзя ли очистить вот эти полтысячи ссылкок? А может ту тысячу отчистить? Догадываетесь, из-за чего будут программы тормозить? И даже всеобщий переход на физические ускорители и (о, Боже!) ускорители AI ситуацию с памятью не спасёт, ибо данные-то игровые в родимой ОЗУ хранятся, а там у нас сборочка памяти работает-с. И скажите мне честно: Вы планируете на физический ускоритель и ускоритель AI переходить, а? Не думаю. Цитата:
"Система всегда тормозит со скоростью самого медленного своего компонента". Цитата:
|
Цитата:
|
Цитата:
Далее, насчёт ослабления графики - это зависит от реализации этой самой графики. Конечно, использованием топовой видекарты с последней версией шейдеров можно несколько разгрузить процессор, но всё-таки конфигурации у пользователей, как правило, сбалансированные. Ну и к тому же шейдеры - это отдельная статья программирования, не имеющая отношения к основному языку написания программы. Кстати, Вы не думали, что в некоторых случаях, ослабляя графику, снимаете нагрузку именно с процессора, который вынужден тратить время на софтовую эмуляцию отстуствующих в видеокарте возможностей, а? Ну и жду возражений на остальные аргументы, особенно по поводу памяти. Да и по поводу физики с AI тоже не помешает. В Кризис я, правда, не играл (и не собираюсь), но ещё не видел игры с нормально реализованным AI, а физика была нормально реализована только в специальных демках, только на то и рассчитаных. Это при том, что все алгоритмы для улучшения и того, и другого уже давно известны. А всё почему? Да как раз потому что если ЭТИМ загрузить процессор, то он загнётся всё считать. Потому сейчас и особо не разгоняются в этом плане, особенно по статье AI. Далее, не лишне Вам будет напомнить, что Core 2 Duo он как бы немного двухядерный, а для получения максимальной выгоды от второго ядра в случае одного приложения нужно это самое приложение особо оптимизировать. Так что Ваши 60% могут быть не следом того, что Кризис не может загрузить процессор на все 100%, а следом плохой оптимизации под двухъядерный процессор. Только и всего. |
Цитата:
Цитата:
Цитата:
|
Цитата:
А насчёт "Не стоит ориентироваться на видеокарты прошлого поколения" Вы скажите издателям игр. К счастью, пока они думают несколько иначе, а не заставляют всех повально на сверхновые железяки переходить. Цитата:
Цитата:
Нет, конечно, если написать на Framework какой-нибудь Quake 3, он, конечно, полетит и на семпроне. Вот только такая игра провалится в конкурентной борьбе. Железо, к сожалению, развивается медленнее алгоритмов, и зачастую как раз под них, как показала практика. И насчёт двухядерника тоже возражений нет? Просто я не вижу реальных доказательств, что в сбалансированной конфигурации процессор играет меньшую роль, нежели видеокарта. Цитата:
О, ну если этот байткод будет компилится в машинные коды процессора, то я с чистой совестью запущу какого-нибудь "Ведьмака" и подожду полчаса до запуска игры, пока код соизволит скомпилится. Зато потом буду радоваться жизни. До следующего запуска. Нет, я всё-таки ещё надеюсь добиться у Вас объяснений, что же такое даёт C#, чего не даёт C++ и что позволит ему одержать верх. Сборщики памяти для C++ есть (ими никто не пользуется). Библиотеки те же самые, что и для C#, есть. Так что же такое эта XNA даёт (кстати, она вроде как на DirectX 10, а потому по определению работает медленнее этого самого DirectX 10, уже не говоря про быстрый OpenGL), что игры будут под неё писаться в условиях противостояния красот и фишек? Ответ X-BOX не принимается т.к. насчёт заведомой тормознутости приставки по сравнению с компьютером опять же возражений не было. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
ЗЫ соре за даблпостинг, на клаве какая-то кнопка начала "отправлять быстрый ответ" |
Цитата:
И в то же время есть хардкорщики и пресса, которые в играх разбираются и которые могут обеспечить достаточную рекламу и раскрутку игры (рекламную компанию Halo 3 не каждый может позволить). То есть нужно угодить и технологиями, чтобы игру расхвалили, и достаточно низкими системными требованиями, чтобы она шла у как можно большего круга обывателей. Кстати, вот интересно - почему мы считаем, что Запад поголовно как сыр в масле катается? Это вовсе не так. Уровень жизни там выше, да. Но не будем забывать, что у нас многие люди вообще и компах только в новостях слышали. Цитата:
Цитата:
Цитата:
Цитата:
А как насчёт того, что по данным Майкрософта ( http://forum.igromania.ru/showpost.p...28&postcount=2 ) замедление 35%, а? А хороших передовых не тормозящих игр под .NET и нет. Ну а сапёра какого на C# в пример приводить как-то несерьёзно. :lol: Так игры и на Basic'е есть. Будем кричать, что Basic C++ рвёт на запчасти теперь? Цитата:
Далее, запуск под Линуксом и Маком - это лишь теория, т.к. под ними ещё должен появится не только базовый фреймворк, но и DirectX (при том, что 10 вроде как для висты эксклюзив пока... или уже нет?, а XNA на десятке), и всё прочее... Между тем вот незадача - C++ сам по себе кроссплатформенный язык, а OpenGL есть под тем же линуксом. То есть можно перенести игру с OpenGL без серьёзных перемен в коде. Однако ж почему-то под OpenGL не таки много игр делают (кстати, вот это зря!). Так может, дело не в мультиплатформенности? Ну и насчёт того, что XBOX медленнее компа я уже говорил, да и Вы это сами написали. |
CMogilko
Давай подождем пока со спором. Ты еще не знаешь многого. Когда будем проектировать движок, ты сам многое поймешь. Сейчас ты просто не совсем себе предстваляешь, как работает двигатель игры и как именно он использует ресурсы процессора и видеокарты. Поэтому порой пишешь не совсем правильные ыещи и пытаешься всё под одну гребенку загрести (что не получится - есть там куча неочевидных нюансов, влияющих на производительность). Поэтому мы с Покибором и затеяли написание учебного проекта - игры. pokibor Давай лучше статьи писать:) А то тут спор глухого с немым получается:) |
Не могу не высказаться по этому поводу.
Цитата:
Цитата:
Цитата:
Цитата:
И говорить, что самое главное в движке - ООП, это бред. Есть и неооп движки. ----- Если виста тормозит на вашем компьютере, то это не значит, что Виста - говно. И разработчики современных игр не учитывают, что у пользователя видеокарта 10 лет не менялась. Цитата:
Цитата:
Цитата:
----- Никто и не спорит, что С++ быстрее С#, но говорить, что последний - говно и никто не будет на нем писать как минимум глупо. Игры и движки на нем делают и есть готовые. А если вам хочется оптимизации, пишите под DOS, он вообще не больше 1мб памяти ест, вот только боюсь проблемы будут. Почемуже на С# будут писать? Может потому что в это вбухивает MS? Или они просто не имели дело с pokibor'ом? =) Цитата:
|
serializer, во-первых, попрошу воздержаться от бранных слов. Во-вторых, [CCCP] Monster про спор немого с глухим написал верно, так что воздержусь от своих комментариев, особенно после Вашей последней фразы, отлично Вас иллюстрирующей. В-третьих, перечислите игры "только под DirectX 10 и Висту" (как и хотела M$) и тогда поймёте, кто именно на неё плюнул. В-четвёртых, я и сам на C# пишу. Удивлены? А я пишу, потому что всякую мелочь на нём писать действительно быстрее и удобнее, нежели на Visaul C++ под Win 32. Там есть быстрый и удобный конструктор оконных приложений и нет глюков Борландовского Builder'а. Но вот писать на нём серьёзную игру мне в жизни в голову не придёт по указаным выше причинам. И по ним же это не будет быстрее и удобнее, нежели на C++.
И перечитайте название темы: "С# и Xna - революция в игросторении". Речь идёт конкретно об игростроении, причём в-основном о серьёзных коммерческих играх. P.S. А статьи я пишу, только медленно. Сейчас вот хочется собрать небольшую программу по нечёткой логике. Кстати, собираю я её на C#, ибо для небольших оконных приложений он вполне удобен. Вот так. |
pokibor
Я написал свои коментарии и четко их аргументировал. Отвечаю вопросы: Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
ЗЫ. закройте тему если нечего писать. ЗЫ. Избавте от ВЫканья, это всеже действует на нервы |
Цитата:
Особенно радуют слова "Но все равно играбельней, чем под Windows Vista." и "разглядывая скриншоты Dx10 very high и dx9 very high... не вижу никакой разницы (vista x86, 8800gts)!!! Но зато четко вижу разницу в скорости (~15-20%)." Иными словами факты говорят о том, что Виста и DX10 как основа для игр реально никому не нужны, разве что Micro$oft денег даст и заставит всех писать под них (но столько денег даже у M$ не найдётся). А если ещё иметь в виду, что DirectX 10 - это не XNA, то XNA тем более вообще никому не нужна и даже не планирует быть нужной. Так что извините, но факты - вещь упрямая. А предполагать Вы можете всё, что угодно. Я же предпочитаю на факты смотреть. Цитата:
То, что разработчики не оптимизируют свои игры ещё не значит, что они не гонятся за скоростью и пойдут писать на C#. Потому что на C# у них выйдет точно такая же "оптимизация", а скорее даже хуже за счёт отсутствия работы с памятью. Что OpenGL быстрее DirectX - факт. Кармак далеко не самый глупый человек, его движки вроде как покупают за боооольшие деньги. Про ООП Вы ответили на какой-то выдуманный собой вопрос, моего же аргумента и краем не коснулись. Цитата:
Цитата:
|
pokibor
Пишу последний, надеюсь, пост в этой теме: 1 . Будут писать только потому что МС так надо. И МС вложит масимум сил и денег для этого. 2 . Цитата:
4 . Вот именно, что все огл игры основаны на кармаковском движке. Покупают? Unreal Engine 3 (это тот что с ДХ10) тоже покупают и по статистике гораздо больше. 5 . Очевидно, что API, основанное на СОМ объектах будет медленнее 6 . "разбирающихся" в чем? вы хотите найти людей, которые смогут оспорить ваше мнение. Тогда на gamedev.net или подобные сайты. А здесь вы таких точно не найдете. 7 . Если для вас Ты - это оскарбление, то с вами я буду на ВЫ. |
| Часовой пояс GMT +4, время: 12:13. |
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.