Цитата:
Сообщение от noLove
Да кто тебе сказал что ХНА на дх10??? погугли на эту тему хотя бы раз
|
Ммм... дайте подумать... Micro$oft, который всё кричал, что XNA с DX10 будет. Значит, ещё не...? Собственно, с точки зрения моего вопроса до лампочки, ещё на DX9 она или уже на DX10, ибо отличия их (ну, кроме геометрических шейдеров, которые и в OpenGL есть) нужно с лупой искать.
Так я жду описания преимуществ XNA и на чём там она построена над OpenGL.
Цитата:
Сообщение от noLove
мы обсуждаем это из за вашей твердолобости. Тема топика какая была? правильно, про XNA в играх. а Вы начали тут лечить про утечку памяти
|
Так, ещё один переход на личности - и рейтинг поставлю. Про Ваши умственные качества я молчу.Укажите-ка мне мою цитату, которая, якобы, не в тему.
Цитата:
Сообщение от noLove
Юзеру абсолютно нет разницы. Прога работает - и ладно. Современные компьютеры достигли таких мощностей, что это как вы говорите "35% замедления" почти не заметно.
|
Приехали! Юзеру нет разницы, с какой скоростью работает игра. Круто.
Наверное, Вы являетесь счастливым обладателем суперкомпьютера дома.
Выделю. Возможно, устрою опрос согласных с таким утверждением. Ибо я от него укатился под стол.
Цитата:
Сообщение от noLove
Ты плохо знаешь .NET если говоришь так
|
Так соизвольте мне разъяснить мою ошибку. Перечислите пункты оптимизации, ссылочки можете дать. Пока что факты - это 35%'ое замедление, а вот оптимизации что-то не видно. Уж не буду судить о своём знании .NET, но вот плохое знание Вами архитектуры компьютера - доказано (хотя бы вышестоящее утверждение - повторюсь, что же это в Игромании часто ругают игры за тормоза?)
Цитата:
Сообщение от noLove
Ага, тебя через неделю после того как ты начал плюсы изучать попросили написать игровой движок, или субд.
|
Нет, меня потом попросят писать игровой движок или СУБД, а я в работе с памятью ничего не смыслю. Вот тут-то и будет C# обруган, и не раз. У меня есть опыт осваивания Pascal'а после QBasic'а. Скажу честно - лучше бы я это майкрософское убожество не изучал вообще. Ибо долго вникал в тонкости работы с памятью (а в Pascal'е они ещё не чета C'шным!).
Цитата:
Сообщение от noLove
С++ - набор процедур и функций. так называемое ООП ложится целиком и полностью на плечи программиста.
Шарп - большая библиотека классов. В каждом классе есть свои свойства, методы, делегаты, события. Т.е. с самого начала программист подхватывает этот принцип, что все разложено по полочкам, и он знает что и где искать.
|
Вы знаете хотя бы, что такое STL? Подскажу: библиотека классов. Видимо, Вы какой-то не тот C++ изучали, что остальные программисты...
Цитата:
Сообщение от noLove
противоречишь себе т.к.
ты оффтопишь с самого начала топика
|
Нет, я говорю применительно к играм. Если Вы скажете, что "достоинства сред разработки/языков/компиляторов/библиотек" не влияют на разработку игр, то в копилке Ваших замечательных высказываний будет прибавление. Причём достоинства сред разработки и пр. слабо зависят от мастерства программиста, а вот Вы говорите сугубо об индивидуальном мастерстве.
Цитата:
Сообщение от noLove
Если напишут крайзис на шарпе - в него в любом случае будут играть. И никому не нужно будет этого объяснять. Пусть он на плюсах написан, для него и сейчас требуется суперкомпьютер, однако играет народ.
|
Ну-ну, как играть в то, что не запускается либо безбожно тормозит? К сожалению, у не каждый является сыном миллионера, чтобы позволить себе покупать под каждую топовую игру новый суперкомпьютер. Вы хоть задумайтесь, не от нечего делать компании стараются оптимизацией заниматься, а ради расширения круга потребителей.
Цитата:
Сообщение от noLove
У не воспринимаю культ личности как таковой. Я не знаю этого человека, где то слышал, но не знаю кто такой. Пусть он хоть папа римский будет
|
Ага, ну вот тут-то всё и объясняется. Вы верите майкрософтовским рекламным статейкам больше, чем известнейшему в программировании человеку. Верно, это не культ личности. Это культ компании. Конкретной компании с названием Micro$oft.
Цитата:
Сообщение от noLove
Сам светишь неграмотностью. Если нет простоя => нет автоматической уборки памяти => делай выводы
|
Кошмар... такого бреда я от Вас не ожидал. Что самое весёлое, написано абсолютно верно. И в очередной раз иллюстриует Вашу вопиющую неграмотность. Ибо отсутствие уборки памяти и есть её утечка.
Цитата:
Сообщение от noLove
Тормознутость шарпа в том, что у него есть единая библиотека классов?
а чем плюсы лучше? у них ведь тоже mfc есть.
|
Прочитайте внимательно мой пост. Тормознутость шарпа в том, что у него
1) автоматическая сборка мусора в памяти либо инициированная программистом, но опять же уборка ВСЕЙ памяти разом
2) интерпретируемый Framework'ом байт-код.
Где хоть одно слово про библиотеку классов?
Цитата:
Сообщение от noLove
Расскажи пожалуйста по подробнее механизм выполнения программы на шарпе написанной и на плюсах, чтобы я наконец понял каким боком общая библиотека классов замедляет выполнение программы.
|
См. выше. Программу на шарпе берёт Framework, тащит из неё байт код и исполняет его, периодически сканя память и очищая из неё всё ненужное.
Программу на C++ исполняет непосредственно процессор, и она сама заботится об уборке своей памяти именно тогда (для каждого отдельного кусочка выделенной памяти), когда это нужно.
Цитата:
Сообщение от noLove
В лицензии моего ПО будет написано "Использование отладчиков и дизассемблеров запрещено. Если контрольная сумма Вашей копии не совпадает с контрольной суммой программы оригинала, разработчик данного ПО не несет никакой ответственности за возможную порчу, или утрату информации, либо другого рода убытки"
|
Обрадую Вас - дизассемблирование программ и без того сейчас запрещено. Однако почему-то хакеров это не слишком останавливает, к играм есть уйма no-cd, тот же World of Warcraft постоянно ломают. А Вы упрощаете хакерам жизнь, т.к. они могут восстановить исходный код на высокоуровневом языке, а не копаться в ассемблере. И если они найдут уязвимость - при чём тут контрольная сумма? Просто в один прекрасный день Ваша программа с той же самой контрольной суммой отформатирует всем пользователям диски.
Я уж не говорю о том, что после каждого выпущенного Вами обновления его просто-напросто будут ломать по новой, и у пользователей всегда будет самая свежая взломанная версия Вашей программы, за которую они не заплатили ни копейки и с которой Вы ничего сделать не сможете, ибо хакер будет знать Ваш код едва ли не лучше Вас самих.
Цитата:
Сообщение от noLove
На этот случай люди придумали авторские права. Отсудить эти убытки при желании не составит много проблем. Хотя с нашим законодательством....
|
Ага, только есть одна маленькая проблема. Как я уже говорил, дизассемблирование противозаконно. А без него Вам трудно будет получить доказательства своей правоты. А доказательства, полученные противозаконным путём, не считаются. Вот так вот. И с суда Вас выгонят в шею, я уже не говорю о том, что одно малюсенькое изменение Вашего кода - и укравший Ваши секреты вообще оставит Вас с носом даже при наличии законного разрешения на дизассемблирование.
Цитата:
Сообщение от noLove
ПО уже написано, и распространяется. Пиратство сейчас оффициально сводится на НЕТ. Придет проверка из налоговой, или ФСБ, что вы им скажете?
|
По домам ходит ФСБ, ищет пиратские копии игр? Пойду им чайку приготовлю.
Цитата:
Сообщение от noLove
Пусть видеокарта рендерит картинку. Какая разница, замученная она или нет. Процессору помимо графики своих проблем хватает.
|
Разница в том, что система тормозит со скоростью самого медленного своего компонента. Если видеокарта нагружена сейчас, когда она обрабатывает не всю информацию для визуализирования - потом она и будет самым слабым местом в система. Вот смотрите: сейчас есть графические ускорители, поговаривают о необходимости физических и ускорителей AI (стало быть, не хватает на них ресурсов процессора). А теперь внимание, вопрос: чем же таким требовательным к ресурсам процессор занимается ещё, помимо графики, физики и AI, если играм потенциально нужен аж такой комплект ускорителей? Вот и думайте, хватает процессору проблем помимо графики или нет.
Цитата:
Сообщение от noLove
Какой бы ни был урезаный .NET на *никс системах, рано или поздно он будет полноценным, ибо время идет, люди ведут работы над портированием.
|
Скажите, когда выйдет DirectX под Linux? Я что-то вообще не слышал, чтобы M$ как-то поддерживала Linux, ибо M$ это невыгодно. Следовательно, полноценного .NET под *nix не появится никогда.
Цитата:
Сообщение от noLove
Про приставки. Может быть конфигурация железа у них слабее компа, зато производительность у них бОльше, и не надо здесь пытаться спорить. Хотя бы потому, что Sony и MS очень много денег вложили в исследования в этой области, и им наверняка лучше вас известно, как будет лучше.
|
Я уже написал за счёт чего у них производительность кажется больше. Жду конкретных возражения. И по поводу того, что .NET требует универсальности - тоже.
Цитата:
Сообщение от noLove
Проги написанные на шарпе тоже нужно компилить, но о библиотеках заботится CLR а не программист. Программисту только нужно указать требуемое пространство имен.
Выложите пожалуйста свою какую нибудь программу, самую простую, которая показывает сообщение "Hello world!". Я попробую ее запустить на всех своих девайсах. Запустится она только на ББ, ибо на PPC и Smartphone другая архитектура.
Кстати, среда разработки Microsoft Visual Studio, по крайней мере версии 2005 и выше на шарпе написаны.
|
А Вам трудно перекомпилить один код с подключением разных библиотек, чтобы получить выигрыш в 35% скорости?
Среда программирования майкрософтовская, так что не удивительно. И не показательно, ибо оболочка среды программирования - это как раз категория далеко не требовательного к ресурсам ПО. Вот когда 3D MAX, например, на шарпе напишут - поговорим.
Цитата:
Сообщение от noLove
При написании программ обычно для каждой задачи создаю свой класс. Например, класс, в котором хранятся все настройки программы. Этих настроек, скажем, пунктов 15. Как в плюсах узнать значение каждой переменной этого класса? А если моя прога вырастит до 50 параметров?
В шарпе код нужно будет написать 1 раз, и не важно, вырастит прога, или наоборот уменьшится.
|
И что, я не совсем понимаю? Вы что ли variant-переменные имеете в виду? Ну так под C++ они тоже есть. Или что-то ещё? Поконкретнее, пожалуйста, в чём Вы видите недостаток C++. В класс новые члены спокойно можно добавить.
Цитата:
Сообщение от noLove
Приставки быстрее, потому что им нужно только игровой контент воспроизводить и не беспокоиться о том, что кто то проводит сканирование портов, либо нужно забэкапить документы пользователя, либо нужно распаковывать какие то архивы, либо с бубном танцевать.
Приставки делают то, для чего они были созданы - игры, и не больше
|
И что? Где тут возражение против требуемой Framework'ом универсализации доступа и отсутствия возможности оптимизации по памяти? А ведь при такой программы нельзя выжать из приставки все соки...
Цитата:
Сообщение от noLove
Мастер оффтопа здесь Вы. С самого начала
|
Доказательства? А то ж я это могу как клевету расценить. Только в лику или можете жалобу на меня подать с обоснованием.
Цитата:
Сообщение от noLove
Эта тема у нас называется "С# и Xna - революция в игросторении".
|
Вот именно. Никакой революцией ни C#, ни XNA не являются. Движков "для самых маленьких" достаточно, и ещё один продукт среди них - это не тянет на революцию (а "Революция (от позднелат. revolutio — поворот, переворот, превращение, обращение) —
глобальное качественное изменение в развитии природы, общества или познания, сопряжённое с открытым разрывом с предыдущим состоянием.")
Цитата:
Сообщение от noLove
цитата из книги C# и платформа .NET
|
Ммм... И что это доказывает?
Это лишь говорит, что приложение
собирается во время работы! При том, что код на C++ уже собран. Нет, я бы понимал, если бы код на C# на конечной машине сразу преобразовывался в набор платформенно-зависимых инструкций (честно говоря, я понимал слова Knott'а так). Но приведёная Вами цитата только показывает лишние тормоза в процессе, не более того. Кэш-то у нас не резиновый, а игре на каждой итерации игрового цикла нужно выполнять целый спектр действий. Иными словами, приведёная Вами цитата только показывает, что C# на игры не рассчитан
вообще, а более-менее подходит лишь для небольших приложений, часто выполняющих одни и те же методы.
Я уж не говорю, что программа на C++ изначально собрана и ей никакого кэша с платформенно-зависимым кодом не требуется - он и так весь платформенно-зависимый.
Цитата:
Сообщение от noLove
pokibor, все же рекомендую изучить спецификации .NET
|
А Вам рекомендую изучить работу компьютера вообще и исполнение кода Framework'ом в частности.