Comments 8
Немного про макаронины и большие силы. Я от физики вообще и от ее компьютерного моделирования в частности весьма далек. Но мне вот сейчас в голову пара мыслей пришла.
1) Возможно количество циклов пересчета коллизий должно коррелировать со скоростью движения и допустим близостью и скоростью движения ближайших объектов?
2) Может стоит использовать какие-то эвристики для предсказания коллизий?
Идеи, наверняка, не очень оригинальные, так как лежат на поверхности. Но всё же…
А что вы об этом думаете?
1) Возможно количество циклов пересчета коллизий должно коррелировать со скоростью движения и допустим близостью и скоростью движения ближайших объектов?
2) Может стоит использовать какие-то эвристики для предсказания коллизий?
Идеи, наверняка, не очень оригинальные, так как лежат на поверхности. Но всё же…
А что вы об этом думаете?
0
Для параллельного вычисления больше подходят простые операции, равно применяемые к каждому из моделируемых объектов.
Если добавить эвристику на стороне GPU, она будет потреблять вычислительные такты, и её добавление должно будет окупаться. Но окупаться оно не будет, потому что если каким-то образом для медленных частиц снизить объём вычислений, то всегда найдётся одна быстрая частица, требующая всего объёма вычислений. И получится, что 1023 ядра ждут одно, которое обрабатывает эту одну частицу, и время выполенения операции над одной частицей не будет меньше, чем над всеми.
Если добавить эвристику на стороне GPU, она будет потреблять вычислительные такты, и её добавление должно будет окупаться. Но окупаться оно не будет, потому что если каким-то образом для медленных частиц снизить объём вычислений, то всегда найдётся одна быстрая частица, требующая всего объёма вычислений. И получится, что 1023 ядра ждут одно, которое обрабатывает эту одну частицу, и время выполенения операции над одной частицей не будет меньше, чем над всеми.
+4
Пробовал работать с вычислительными шейдерами в юнити, но почему-то не получилось отправить на видеокарту буфер с массивом структур, в каждой из которых был ещё один массив данных. Видимо для таких задач нужно использовать CUDA.
0
CUDA — это просто другое API. Методы передачи данных в видеопамять похожи. Если у вас были массивы в структурах, значит там был не сам массив, а четырёхбайтный адрес. То есть, следовало записать данные массивов в буффер тоже.
0
На анимированной картинке волосы, которые совершенно не спутываются, например, от статического электричества.
Это выглядит так, будто это не волосы, а шторы из нитей.
Это выглядит так, будто это не волосы, а шторы из нитей.
0
Sign up to leave a comment.
Физическое моделирование на GPU с использованием compute shader в среде Unity3D