![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
Хочу спросить, можно ли в C# заниматься трехмерной графикой? Не подумайте, что я полный ламер, я знаю что есть DirectX библиотеки для для С#, знаю что теоретически все это возможно, но вот как насчет пракики: не будет ли это все дело тормозить и жрать в 10 раз больше ресурсов?
Сразу объясню почему возник такой вопрос: мы пишем проект (игрушку) и там сеть разрабатывается на VB.NET (потому что многим людям оч. удобно и легко писать на этом языке). Сначала графу хотели писать на C++, но потом я увидел какие там будут проблемы с взаимодействием различных частей... ужос просто... так что для удобства разрабтки было принято решение писать все на .NET вот я и хочу узнать возможно ли практически написание графы на С# или нет. |
|||
|
||||
| $tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 2 Всего: 22 |
Да можно, падения производительности практически не ощущается. Это в самом худшем случае. Вообще программы на дотнете компилируются в нативный код на компе пользователя, поэтому практически разницы с C++ нет. Главное - пользоваться оптимальными алгоритмами и стараться использовать ресурсы видеокарты.
ЗЫ. Сейчас мелкие создают платформу XNA для создания игр на Хбокс и ПиСи, а она будет именно на дотнете, так что думаю все понятно. |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
http://www.vertigosoftware.com/Quake2.htm Добавлено @ 17:47 Ясное дело, что движку Quake II уже 9 лет и это не показатель, но хочу заметить, что 3D графикой всё равно занимается видеокарта и ей-то без разницы на каком языке написано основоное приложение. -------------------- Да. Именно так. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Приложение, интенсивно работающее с памятью и производящее массу вычислений на CPU, однозначно будет гораздо быстрее работать в native, чем под дотнет. На собственном опыте это узнал.
-------------------- ![]() |
|||
|
||||
| $tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 2 Всего: 22 |
Дрон, да, рендерит всегда видеокарта. Но тут еще такой момент: большинство алгоритмов разрабатывались без учета мощной видеокарты и многие вещи в таких алгоритмах должен выполнять центральный процессор. Видеокарта же получает просто массив вершин и вершинных индексов, текстур и т.п. Но при каждом повороте камеры пересчет может проводиться заново, поэтому производительность падает. Т.о. необходимо все равно не забывать про видеокарту.
Пример: две игры - Morrowind и Oblivion внешне как земля и небо. По количеству полигонов и эффектов с Обливионом Морр не сравнится. Но на компе со слабым процессором Морр тормозит больше Обливиона (который не может работать на слабой видеокарте из-за множества эффектов)! Отсюда вывод - не все алгоритмы одинаково полезны Понятно, что объемные математические вычисления на дотнете будут тормозить из-за объектности платформы. Но ведь имхо для этого можно либо использовать MC++ (смешанную делать прогу), либо подключать нативную дллку. Это сообщение отредактировал(а) $tatic - 20.10.2006, 20:24 |
|||
|
||||
| WinNet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 4.3.2007 Где: г.Москва Репутация: нет Всего: нет |
А как обстоят дела с литературой? Хотелось бы ссылочку на
стоющее издание... |
|||
|
||||
| Loopy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 26.1.2006 Репутация: нет Всего: нет |
Goganchic,
На кри 2006 представитель какой-то геймдевовской компании, которая пишет на C# под DirectX, сказал что по их тестам падение наблюдается где-то на 15-20% по сравнению с С++ но это при оптимизации компилятора и т.д. Практическую реализацию мож посмотреть в Newer Winter Night 2(имхо тормоза просто жуть). |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
Ox.... Не , как то мне думается , что сейчас опасно что ли на .NET программить :
MDX заморозили XNA неокрепший молодой организм с которым один бог знает, что может случиться. Может тож самое что и с MDX 2.0 Насчет тормзнутости и требовательности к системе..... скажу , что ни одно XNA приложение не запустится на видеокарте без пиксель - шейдеров. А вообще что бы они там в M$ не говорили , что падение производительности 5% - это все рано что говорить , что 1 капелька Фери отмывает 10000 тарелок Итого я думаю вот что : Если вам нужно работать прямо здесь и сейчас.... то С++ . Но тем ни мение .NET стоит рассматривать , когда у всех будут мощные машины ( а они будут из-за Висты года через 3 ) , вот к этому времени все и станет ясно. К тому же следует учесть вот что :
Плачевно :( Не то чтобы с русской ,а даж с английской. Хотя вот даж русскую книжку пишут по ходу дела. Да и автор XNA книжку про свое детище пишет. -------------------- Жизнь - печальная штука. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Уважаемые, на дворе 2007-й год и мало у кого видеокарты ниже 4-5 жифорсов. У всех давно есть "эти самые" пиксель-шейдеры. -------------------- ![]() |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 11 Всего: 92 |
mr.DUDA, ну скажем у меня интегрированная видюха на чипсете i945G.
ЗЫ Хотя к XNA это никакого отношения не имеет. Просто про то, что творится "на дворе"... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |