Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

Просмотр темы
 Распечатать тему
C# и XNA vs. GPU
RepleX-TA
#1 Распечатать сообщение
Опубликовано 21.06.2012 02:11:54
Младший специалист


Сообщений: 29
Зарегистрирован: 21.06.12

Салют всем ХNA-разработчикам.
В последнее время в целях самообразования я пробую делать некоторые модели коллективного поведения частиц. Сначала писал на чистом C# и на GDI+, а недавно в плане подготовки к созданию чего-нить стоящего взялся за хну.
Казалось бы все вполне неплохо, однако когда частиц становится много, вычисления уже не успевают проводиться за 16мс. Так как операции довольно примитивны наверняка все это дело можно распараллелить, а для этого хорошо бы использовать GPU. Довольно мельком слышал о CUDA и PhysX. Последний, насколько я знаю, запросто подключается к приложениям на хне.
Собственно насчет этого я и хотел спросить - как обстоят дела с распараллеливанием, какие утилиты ещё актуальны, а на какие уже можно забить, стоит оно того, не стоит и пр.
 
ChaosDev
#2 Распечатать сообщение
Опубликовано 21.06.2012 18:53:10
Аватар пользователя

Старший специалист


Сообщений: 306
Зарегистрирован: 12.06.10

Смотря сколько много. Для действительно большого кол-во частиц лучше использовать технологии - DirectX11/DirectCompute. Если нужно это на C# - изучи sharpDX - sharpdx.org
 
RepleX-TA
#3 Распечатать сообщение
Опубликовано 28.06.2012 01:42:57
Младший специалист


Сообщений: 29
Зарегистрирован: 21.06.12

Ммм... в принципе суть уловил. С другой стороны, прежде чем начать, все же стоит разобраться с необходимостью прибегать к помощи ГПУ.
В данный момент я разрабатываю платформу для игры типа Gish2
YouTube Video

Какое на ваш взгляд количество единиц должно обрабатываться за нужное время. Без лишней показухи конечно
Изменил(а) RepleX-TA, 28.06.2012 01:43:58
 
general
#4 Распечатать сообщение
Опубликовано 28.06.2012 02:05:25
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

единиц - чего?
обрабатываться - как именно?
нужное время - это сколько?

если есть желание получить полезный ответ - стоит включить мозг во время формулирования вопроса. ответы не бывают сложнее вопроса.
[dreamteam-mobile]
[dtimofeev.blogspot.com][c#][XNA][blog]
 
RepleX-TA
#5 Распечатать сообщение
Опубликовано 28.06.2012 02:39:10
Младший специалист


Сообщений: 29
Зарегистрирован: 21.06.12

Основой вопроса был анализ модели капли, соответственно (по идее это все это вытекает из основы):

единиц - структурных составляющих каплю
нужное время - 16мс, о которых было сказано в начале поста
как именно обрабатывается, это такой условный параметр оптимизации алгоритмов обработки, что-то вроде: "нормальная капля должна содержать n единиц" - "О, мой алгоритм не позволяет обработать все n штук за 16мс, соответственно мне надо либо оптимизировать алгоритмы, либо распаллелить вычисления на ГПУ".

Я бы уж мог поспорить на тему включения мозга при прочтении вопроса, но все таки сошлемся на то, что эта тема касается лишь меня настолько достаточно.
Изменил(а) RepleX-TA, 28.06.2012 02:40:31
 
andreas
#6 Распечатать сообщение
Опубликовано 28.06.2012 14:30:53
Аватар пользователя

Ветеран


Сообщений: 604
Зарегистрирован: 02.12.09

Какое на ваш взгляд количество единиц должно обрабатываться за нужное время. Без лишней показухи конечно

Мы не сможем этого подсказать, потому что это подбирается практическим путём самим разработчиком - только он знает в какой ситуации он будет это использовать: какой геймплей, какой масштаб, какие эффекты. По-моему необходимости в большом количестве частиц нет, при 20 довольно прикольно.
 
http://onfloating.blogspot.com/
general
#7 Распечатать сообщение
Опубликовано 28.06.2012 18:07:35
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

интересная тема. смысл самого вопроса нужно собирать по всему топу, интуитивно выбрать похожие моменты и с долей везения, возможно, угадать мысль автора.

"как именно обрабатывается, это такой условный параметр оптимизации алгоритмов обработки, что-то вроде: "нормальная капля должна содержать n единиц" - боюсь даже представить количество возможных условных ответов.
Изменил(а) general, 28.06.2012 18:07:47
[dreamteam-mobile]
[dtimofeev.blogspot.com][c#][XNA][blog]
 
RepleX-TA
#8 Распечатать сообщение
Опубликовано 28.06.2012 18:37:34
Младший специалист


Сообщений: 29
Зарегистрирован: 21.06.12

Мда, пожалуй я действительно слишком сильно размазал основную идею. Конец семестра, все такое, мысли слегка вперемешку %)

Идея была в том, насколько можно нарастить физическую составляющую игры (сложность и полноту алгоритмов взаимодействия и обработки) при заданных количественных параметрах (числе базовых точек) без ущерба производительности.
Все механизмы я стараюсь придумать и реализовать сам - неплохая практика на мой взгляд.
В принципе, идею я уловил - просто так ничего сразу сказать и не получиться. Я ведь даже скорее не игру создаю, а что-то типо шаблона со всем необходимым, чтоб потом при желании можно было запросто обобщить до 3д.
Изменил(а) RepleX-TA, 28.06.2012 18:38:05
 
general
#9 Распечатать сообщение
Опубликовано 28.06.2012 18:59:00
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

ты пойми, что спрашиваешь из области философии. конкретика может быть только для примеров из области аля 2+2=?. в твоем случае решение должно быть самостоятельное, подтвержденное практикой. все.
[dreamteam-mobile]
[dtimofeev.blogspot.com][c#][XNA][blog]
 
VAB
#10 Распечатать сообщение
Опубликовано 28.06.2012 20:44:44
Аватар пользователя

Администратор


Сообщений: 1431
Зарегистрирован: 21.07.09

RepleX-TA, только с привязкой к конкретной реализации.
Хочешь делать игру - будет одно, со своими оптимизациями и увиливаниями.
Т к реально будет интересовать визульный эффект.

Иначе мона другое замутить. Плюс вопрос сколько подобных эффектов, много еще всего нагружает систему...

Ну, в общем, еще долго мона писать варианты. Надеюсь, что смысл ясенSmile
 
zlos
#11 Распечатать сообщение
Опубликовано 02.07.2012 11:07:04
Аватар пользователя

Специалист


Сообщений: 187
Зарегистрирован: 20.04.11

А как оно устроено внутри? Я делал сотни тысяч пулек с сложным поведением которое легко укладывалось в 60fps на PC. Необходимо учитывать особенности процессора, не выделять память, хранить информацию в struct сложенных в обычный массив размеры которого не меняются. Обрабатывать данные последовательно, без скачков вперёд-назад с минимуом ветвлений. Тогда производительность .NET не слишком сильно отличается от нативного.
http://vlks.blogs...
 
http://vlks.blogspot.com/
RepleX-TA
#12 Распечатать сообщение
Опубликовано 02.07.2012 13:48:14
Младший специалист


Сообщений: 29
Зарегистрирован: 21.06.12

Ну, в принципе, примерно так и устроено. Есть два основных списка классов - список точек и связей. Класс связи хранит массив из двух его вершин, класс точек хранит список связей, которых он создал.
Апдейт проходит с поэлементным разбором списка связей, для рассчета сил и с двойным поэлементным циклом разбора массива списка точек, для создания новых связей, которых кстати для одной точки ограниченное количество.
Потом отдельно происходит прорисовка - опять проход по двум спискам. В принципе все.

Но, основную часть вычислительного времени здесь скорее составляет составляет как раз тот вложенный массив по точкам. Так же я хотел ещё заделать модель столкновений, основанную на прямоугольниках: прямоугольник из вектора смещения точки и прямоугольник из линии препятствия и связей. Грубая проверка, которая должна быть по идее быстрой - пересечение этих прямоугольников. Точная проверка с рассчетом отражений и всего такого если пройдет первая.
Вот как то так
 
Перейти на форум:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

21.08.2014
Переводить его надо, хоть на ту же азуру. И двиг менять на что-то современное. Если есть веб-разрабы - можем скооперироваться. Один делать не буду.

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,13 секунд 8,709,449 уникальных посетителей