Механизмы физики с открытым исходным кодом [закрываются]

Полагаю, это должно сработать:

   var processName = "devenv";
   var active = Process.GetProcessesByName(searchName).OrderByDescending(x =>  x.Threads.OfType<ProcessThread>().Count(t => t.ThreadState != ThreadState.Wait)).FirstOrDefault();

главное - фильтрация по состоянию потока. Активный статус: t.ThreadState != ThreadState.Wait просто упрощается.

для текущего запущенного приложения решение:

        IntPtr hwnd = GetForegroundWindow();
        uint pid;
        GetWindowThreadProcessId(hwnd, out pid);
        Process p = Process.GetProcessById((int)pid);
        [DllImport("user32.dll")]
        public static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, out uint ProcessId);

        [DllImport("user32.dll")]
        private static extern IntPtr GetForegroundWindow();

, но во втором примере определяется только текущий запущенный процесс приложения

14
задан Frank Krueger 30 April 2009 в 15:17
поделиться

6 ответов

Создание быстрого, точного и Стабильный решатель чрезвычайно сложен, и такие люди, как Хавок, по понятным причинам защищают технологию. Тем не менее, мне известны следующие бесплатные системы:

  • Newton Game Dynamics - Эта репутация благодаря наличию очень точного и стабильного решателя за счет производительности. Последние несколько лет он потратил на то, чтобы добиться успеха, не жертвуя двумя другими. Это хорошо разработанный двигатель, и он работает хорошо, но он все еще один из самых медленных. Не с открытым исходным кодом.
  • Токамак - Точно противоположное. Это ужасно; даже их демо не работают стабильно. Просто подтяните их коробку, и вы сможете увидеть массивное дрожание. Я' Мы никогда не были впечатлены. Тем не менее, он с открытым исходным кодом и невероятно быстр.
  • Bullet - Это руководство бывшего сотрудника Havok, который сейчас работает в Sony (хотя я не могу вспомнить, это SOE или SCEA). Это новичок сцены, и это на самом деле с открытым исходным кодом. У него мощная поддержка Sony, он кроссплатформенный и разработан людьми, которые знают, что делают.
  • TrueAxis - недавнее появление на сцене. Я не знаю много об этом, и это действительно не получило существенное сообщество. Я склонен быть немного скептическим здесь; это может быть хорошо написано, но с небольшой помощью сообщества может быть трудно найти, и это, вероятно, не хорошо проверенный и стабильный двигатель, по сравнению с другими.

Я большой поклонник Bullet сам, но я Я слышал несколько разных жалоб по этому поводу. Большинство из них, кажется, сосредоточены вокруг плохой документации или случайных проблем на некоторых вторичных платформах, таких как Mac. Это был бы мой выбор после «Большой 2», Havok и PhysX.

21
ответ дан 1 December 2019 в 07:28
поделиться

Bullet бесплатен для коммерческого использования и имеются источники.

Документация может быть намного лучше, но есть форум и ряд примеров, которые могут помочь при начале работы.

4
ответ дан 1 December 2019 в 07:28
поделиться

Bullet потрясающая и использовалась в коммерческих целях (например: в производстве Bolt и нескольких игр для PS3 / Wii) имеет поддержку многих платформ и даже CUDA от nVidia.

5
ответ дан 1 December 2019 в 07:28
поделиться

На современном оборудовании, если вы наивно моделируете 1000 взаимодействующих твердых тел на процессоре x86, производительность начинает падать без исключения. Если вам нужна более высокая производительность прямо сейчас, то было бы лучше искать физические движки, которые переносят свою рабочую нагрузку на GPU.

CPU имеют большие целочисленные математические и логические возможности обработки, но GPU имеют гораздо большие необработанные вычислительные возможности с плавающей запятой.

Если вы все еще хотите повысить производительность, просто используя ЦП, вам придется изменить свои требования.

3
ответ дан 1 December 2019 в 07:28
поделиться

Farseer очень хорош.

http://www.codeplex.com/FarseerPhysics

2
ответ дан 1 December 2019 в 07:28
поделиться

Nvidias ] PhysX не с открытым исходным кодом , но свободно доступен для Windows, Linux и PS3 .

Цитата из http://en.wikipedia.org/ вики / PhysX :

Nvidia бесплатно предоставляет как движок, так и SDK пользователям и разработчикам Windows и Linux [6]. SDK для PlayStation 3 также находится в свободном доступе в соответствии с соглашением Sony о покупке одеял.

1
ответ дан 1 December 2019 в 07:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: