Форум программистов, компьютерный форум, киберфорум
XNA/MonoGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/65: Рейтинг темы: голосов - 65, средняя оценка - 4.55
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021

Есть ли еще смысл в XNA?

07.06.2015, 21:58. Показов 13451. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли еще смысл в XNA?Хочу использовать в своем проекте... но... боюсь что не запустится на windows 8 и windows 10
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.06.2015, 21:58
Ответы с готовыми решениями:

Есть ли смысл учить XNA?
В силу того, что я нормально учил только шарп, хотелось бы использовать технологию связанную с framework. Но как-то не могу найти...

HP PAVILION dv6-3124er - подскажите есть ли смысл докупать еще 4гб озу?
Играю в КС ГО - на новых картах начинает проседать фпс, подскажите пожалуйста есть ли смысл докупать еще 4 гб озу или лучше не тратить...

Есть ли у XNA классы для работы с кватернионами (если есть, где можно почитать)
Уважаемые гуру! Буду признателен за ответы на следующие вопросы: 1. Есть ли у XNA классы для работы с кватернионами (если есть, где можно...

33
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
21.11.2017, 12:51  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Ассемблер
Мы не в 1995, где чтобы 3D хоть как то вертелось на 2D карточках нужно вставки на ассемблере писать.
Да и к слову рантайм XNA как раз таки нативный, написанный на плюсах.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Python
Как раз таки биндить его к плюсам проблематично
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Для разработки игр на C# лучше, чем Unity сложно найти
Wave Game Engine
https://waveengine.net/
NeoAxis
http://www.neoaxis.com/ru
Urho3D
https://urho3d.github.io/
Цитата Сообщение от 8Observer8 Посмотреть сообщение
что движок написан на C/C++ и ассемблере
Пруфы что на ассемблере?
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Ассемблере
Причем тут ассемблер? Нативные языки компилируются в ассемблер, затем ассемблер компилируется в объектники а объектники линкуются линкером.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
C# - это очень медленный язык
IL2CPP
0
9987 / 2959 / 497
Регистрация: 05.10.2013
Сообщений: 8,102
Записей в блоге: 243
21.11.2017, 13:20
Цитата Сообщение от bodya_men Посмотреть сообщение
Мы не в 1995, где чтобы 3D хоть как то вертелось на 2D карточках нужно вставки на ассемблере писать.
Вы не поверите, но ассемблер используют при создании движка для увеличения скорость работы алгоритмов, если это, конечно, ни какой-то примитивнейший движок, где один кубик вертится и одна 2D карточка Хорошее выступление по этому поводу: Советы по оптимизации кода и памяти

Цитата Сообщение от bodya_men Посмотреть сообщение
Да и к слову рантайм XNA как раз таки нативный, написанный на плюсах.
Вот XNA точно Microsoft давным давно прекратило развивать и забросила. А Monogame написан полностью на C#, но он и предназначен исключительно только для низкопроизводительных 2D игр.

Цитата Сообщение от bodya_men Посмотреть сообщение
Как раз таки биндить его к плюсам проблематично
Не знаю, не пробовал. Вроде интерпретатор Python написан на C++. Как-то его прибиндили к 3D редактору Blender, где ядро написано на C++, а скрипты на Python.

Цитата Сообщение от bodya_men Посмотреть сообщение
Вы сравните сколько и какие игры вышли на этих движках и какие/сколько на Unity. По-моему, Urho3D использует скриптинг на C++.

Цитата Сообщение от bodya_men Посмотреть сообщение
Пруфы что на ассемблере?
Нет, в тех тестах пруфы на C/C++. Про ассемблер я от себя добавил. На википедии Unity написано, что движок написан на C/C++, про ассеблер ничего, но я уверен, что без него не обошлось.

Цитата Сообщение от bodya_men Посмотреть сообщение
IL2CPP
Как это используется в движках написанных на C#? Например, в Monogame?
0
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
21.11.2017, 13:30  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Вы не поверите, но ассемблер используют при создании движка
Покажите мне пример современного движка где есть вставки на ассемблере.
Взгляните на код Unity(в апреле-мае слили), там одни TODO и кучу костылей.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
По-моему, Urho3D использует скриптинг на C++
У Urho3D много разных биндингов, и Lua, и AngelScript, и C#.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Как это используется в движках написанных на C#
IL2CPP писался для Unity, и Unity его использует
https://docs.unity3d.com/Manual/IL2CPP.html

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Про ассемблер я от себя добавил. На википедии Unity написано, что движок написан на C/C++, про ассеблер ничего, но я уверен, что без него не обошлось.
Ага, и вместе с этим привязать движок к одной платформе.
Нет там вставок на ассемблере, и не нужны они там.
Ассемблер в играх не нужен.
0
9987 / 2959 / 497
Регистрация: 05.10.2013
Сообщений: 8,102
Записей в блоге: 243
21.11.2017, 13:42
Цитата Сообщение от bodya_men Посмотреть сообщение
Покажите мне пример современного движка где есть вставки на ассемблере.
Например, движок который делает компания Sperasoft. Это их сотрудник делал доклад: Евгений Муралев (Sperasoft) - Советы по оптимизации кода и памяти

Цитата Сообщение от bodya_men Посмотреть сообщение
IL2CPP писался для Unity, и Unity его использует
Да, но ядро Unity написано на C/C++, и скрипты он переводит в C++ с помощью IL2CPP. Я не понял, как это относится к движкам, которые написаны на C# (типа MonoGame), потому что Unity написан на C/C++.
0
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
21.11.2017, 13:46  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Например, движок который делает компания Sperasoft
Я про движки коммерческого уровня, которые применялись в коммерческих проектах(например о том же Unity).
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я не понял, как это относится к движкам
Вы сказали что C# медленный, я вам ответил что есть IL2CPP, речь о вашем любимом Unity.
0
9987 / 2959 / 497
Регистрация: 05.10.2013
Сообщений: 8,102
Записей в блоге: 243
21.11.2017, 13:52
Цитата Сообщение от bodya_men Посмотреть сообщение
Ага, и вместе с этим привязать движок к одной платформе.
Нет там вставок на ассемблере, и не нужны они там.
Ассемблер в играх не нужен.
Но можно самому написать DLL на Си или C++ и сделать вставку на Ассемблере. Даже есть переписать алгоритм на C++, собрать в DLL и подключить к Unity, то можно увелить работу алгоритма более чем в 10 раз. А уж что говорить, если сделать вставки на ассемблере. Под разные платформы свои библиотеки собираются: https://docs.unity3d.com/Manua... sktop.html

Добавлено через 3 минуты
Цитата Сообщение от bodya_men Посмотреть сообщение
Вы сказали что C# медленный, я вам ответил что есть IL2CPP, речь о вашем любимом Unity.
Я имел ввиду, что C# медленный, чтобы писать на нём движок уровня Unreal Egine 4, CryEngine 5, Unity и т.д. Для скриптинга он хорош. Его официально добавили как скриптовый язык в CryEngine 5. CryEngine 5 тоже стал бесплатный, и они даже исходники выложили на Github.
0
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
21.11.2017, 13:57  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Но можно самому написать DLL на Си или C++ и сделать вставку на Ассемблере. Даже есть переписать алгоритм на C++, собрать в DLL и подключить к Unity, то можно увелить работу алгоритма более чем в 10 раз. А уж что говорить, если сделать вставки на ассемблере. Под разные платформы свои библиотеки собираются: https://docs.unity3d.com/Manua... sktop.html
Речь о использование ассемблерных вставок в самом движке а не в плагинах.
0
9987 / 2959 / 497
Регистрация: 05.10.2013
Сообщений: 8,102
Записей в блоге: 243
21.11.2017, 14:04
Цитата Сообщение от bodya_men Посмотреть сообщение
Я про движки коммерческого уровня, которые применялись в коммерческих проектах
У Sperasoft движок коммерческого уровня. Они много игр сделали. Посмотрите на их сайте.

Добавлено через 2 минуты
Цитата Сообщение от bodya_men Посмотреть сообщение
Ассемблер в играх не нужен.
В плагинах может быть необходим.
0
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
21.11.2017, 14:06  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
В плагинах может быть необходим.
Приведите пример такого плагина.
0
9987 / 2959 / 497
Регистрация: 05.10.2013
Сообщений: 8,102
Записей в блоге: 243
21.11.2017, 14:21
Цитата Сообщение от bodya_men Посмотреть сообщение
Речь о использование ассемблерных вставок в самом движке а не в плагинах.
Если движок закрытый и коммерческий, то логично предположить, что его могут собирать с оптимизацией на ассемблере под разные платформы. Это не редкость в разработке ПО, когда очень критичные ко времени выполнения алгоритмы пишут на ассемблере, в крайнем случае, на Си или C++.

Добавлено через 2 минуты
Цитата Сообщение от bodya_men Посмотреть сообщение
Приведите пример такого плагина.
Разве неочевидно, что когда программист на C++ прибегает к оптимизации на ассеблере - это как раз тот случай.

Добавлено через 10 минут
Цитата Сообщение от bodya_men Посмотреть сообщение
Приведите пример такого плагина.
Вот здесь таблица с тестами с описанием алгоритмов, где алгоритм "ill 500 x 500 Integer array with series" из плагина на C++ работает в 10 раз быстре, чем на C#: [Unity C#] 3.794 milliseconds vs 0.35 milliseconds [C Library] Я не пробовал, но уверен, что на ассемблере будет быстрее. Нужно быть готовым к таким ситуациям, когда плагина на C++ может не хватить и придётся прибегать к ассемблеру. Опять же повторюсь, что среди программистов на C++ нередкость писать ассемблерный вставки для оптимизации.
0
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
21.11.2017, 14:37  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Разве неочевидно, что когда программист на C++ прибегает к оптимизации на ассеблере - это как раз тот случай.
Я попросил конкретный пример плагина.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
то логично предположить, что его могут собирать с оптимизацией на ассемблере
Нет не логично. На ассемблере игры пишут только демосценеры, и писали софтрендеры в 1995.
0
9987 / 2959 / 497
Регистрация: 05.10.2013
Сообщений: 8,102
Записей в блоге: 243
21.11.2017, 15:31
Цитата Сообщение от bodya_men Посмотреть сообщение
Я попросил конкретный пример плагина.
Я бы написал, но я не работаю сейчас с Unity. Я бы взял алгоритм из того теста и переписал бы его на ассемблере, как вставку в C++ плагин и померил насколько быстрее стало. Я пишу неигровые интерактивные 3D-приложениями для веб-сайтов на Three.js и WebGL.

Цитата Сообщение от bodya_men Посмотреть сообщение
Нет не логично. На ассемблере игры пишут только демосценеры, и писали софтрендеры в 1995.
Если вы считаете, что с 1995 года никто не использует вставок на ассемблере для оптимизации работы алгоритмов - это ваше мнение. В коде игры и так слишком много нужно успеть посчитать за 1000/60 = 16 мс. А что мешает для Unity написать плагин на Си и в нём написать вставку на Ассемллере? В любом случае, плагин на C++ будет собран, например, в dll для Windows, или в .a для Linux и т.д.

Добавлено через 2 минуты
P.S. Форум, то работает, то нет (504)
0
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
21.11.2017, 17:50  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
как вставку в C++ плагин и померил насколько быстрее стало
Ну и смысл, когда компилятор сгенерирует тоже самое.
Только ход хуже читаться будет.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Если вы считаете, что с 1995 года никто не использует вставок на ассемблере для оптимизации работы алгоритмов
Вы читаете сообщение перед тем как ответить? Где я сказал что не используется совсем? На embedded используется, для чего то где нужна быстрая скорость тоже. Но в играх сейчас это не нужно. Мощностей хватает.
Сейчас например никто матрицы ассемблерными вставками не перемножает, потому что это не нужно. Мощностей хватает.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
А что мешает для Unity написать плагин на Си и в нём написать вставку
Ничего. Только это не нужно.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
в .a для Linux
a - статическая библиотека, динамические библиотеки там это so.

Видимо вы и дальше хотите продолжать отстаивать свою точку зрения, но тем не менее я не думаю что это имеет смысл.
Можете игры на ассемблере писать.
0
21.11.2017, 18:46

Не по теме:

Не желаю продолжать этот бессмысленный спор. Отписываюсь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2017, 18:46

имеет ли смысл покупки ссылок еще?
имеет ли смысл покупки ссылок на сапе например? или от этого уже нет эфекта? Планирую заказать прогон по каталогам статей, нужно поднять...

Есть ли смысл помечать функции как inline, если их прототип уже есть в .h файле?
Есть ли смысл помечать функции как inline, если их прототип уже есть в .h файле? Функции в одну строчку, сразу в ретарне вычисляет...

Есть ли смысл устанавливать третью плашку, когда есть две, работающие в двух каналах?
День добрый! Можно ли расширять память третей плашкой ОП, если уже установлены две, работающие в двухканальном режиме. Будет ли от...

Есть ли в XNA другие примитивы?
я знаю один примитив - rectangle, а какие еще есть?

Ищу работу, программист C#. WinForms, 2D-XNA, ООП, и много еще по чуть-чуть
Пишу в основном простые проекты, но могу работать удаленно, но со свободным графиком. На длительную работу не рассчитываю, но на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru