Pull to refresh

Comments 12

Поглядите в сторону physicshelperxaml, использование xaml в качестве редактора физики выглядит интереснее…
Статья интересная — прям захотелось напрогать какую-нибудь игрушку.
И, Win332, не хочу придираться, но это сильно бросается в глаза: слово «например» пишется СЛИТНО!
Мой опыт таков: порты движков годны только чтобы побаловаться. Для серьезного дела — только c/c++ оригиналы + интероп с дотнетом. Причем не стоит оборачивать сам движок, враперы натива имеют те же проблемы, в меньшей степени правда. Максимум кода на С/C++ даст перфоманс. Под шарп оставляем легкое скриптование. Т.е. врапим готовое ядро продукта.
Это не враперы, они полностью переписанны на необходимую платформу, в отличии от того же Bullet. И в C# есть возможность работы с не безопасным кодом, по этому не думаю что перфоманс возрастет.
С портирование на C# другие проблемы — трудно подружить разные компоненты. Пример: вектор в вашем Box2dCS например структура Vec2. А какой нить рендерер имеет свой Vec2, эти два типа не приводимы один в другой. И тут начинаются пляски, или копирования, или unmanaged. Хотя с массивами Vec2[] уже только копирование. А с нативным С++ таким проблем не возникает, т.к. строгую типизацию всегда можно убрать легко.
Производительности С# вполне достаточно, чтобы решать эффективно большое кол-во задач. Для физики есть Velcro Physics (Farseer Physics Engine) в начале который был портом Box2D на C#, а потом пошел параллельно. Да XNA/SharpDX позволяют вполне эффективно выводить графику. В конце концов есть monogame, где уже все подружили.
Есть очень маленький процент задач в котором реально без с++ ни как… ну и там, наибольший выигрыш дает использование особенностей платформы, а не язык.
Производительности С# вполне достаточно

Ну да, наверно это было ваше первое приложение с физикой на шарпе.
Я просмотрел Box2D (шарп порт) — поделка. Farseer Physics — уже давно никуда не идет, смотрите дату обновления. И к сожалению, как бы я не любил c#, нет достойной физики на шарпе и быть не может. Про Farseer Physics — открыл вчера, на сколько это сыро, как можно было пропустить чтобы не добавить свойство World к классу Body.
Velcro Physics (Farseer Physics Engine) — а что разработка Box2d сильно активнее?

Ну да, наверно это было ваше первое приложение с физикой на шарпе

Вы меня знаете? Нет? По этому попрошу…
Farseer Physics — открыл вчера

И вы мне что то говорите?

Я написал, что для большого кол-во задач производительности C# достаточно. Если вы не согласны — конкретизируйте!
Ради интереса порыскал по инету — сравнение Box2D и Farseer Physics Это не про языки…
а что разработка Box2d сильно активнее?

Сильно качественнее.
И вы мне что то говорите?

Открыл его не в первые, не волнуйтесь.

для большого кол-во задач

Ценность этого утверждения нулевая. Ну да, на шарпе пишут, много и часто… Как бы контекст разговора то о физике на шарпе.
Бенчмарк — да ну конечно, «порт на шарпе обогнал оригинал на Си» — смешно. Надо смотреть что там за тесты были… этот тест скорее говорит о хорошей оптимизации JIT в рантайме. Сделайте оптимизацию оригинала и вы увидите что чудес не бывает.
Я не работал с физическими движками на с++, но у меня есть опыт c их использованием на С#.
Я хочу у вас узнать, что я потерял. Поделитесь опытом, а то пока то что вы написали — ценность ноль!

А почему такие извращения с Viewport3D???

Разве нет Viewport2D в си шарпе???

Sign up to leave a comment.

Articles