3

Bullet物理エンジンを使用するように作成されたアプリケーションがあります。8 コアの Intel i7 2600K CPU で実行しています。アプリケーションは、何百万もの物理演算のチャンクを処理する必要があり、それぞれを個別に実行できます。現在、8 つのプロセスで実行されており、各プロセスは合計のクォータを個別に処理しています。要約すると、この作品には簡単な並列処理がたくさんあります。

最高の NVIDIA 消費者向けグラフィックス カード(Titan など)を入手できると仮定すると、 CPU の Bullet から GPU のPhysxに切り替えることによって、物理エンジンのパフォーマンスが大幅に向上しますか? つまり、このアプリケーションを Physx 用に書き直した場合、実行速度はおよそどれくらいになるでしょうか?

Bullet と Physx の結果の品質を比較するいくつかの論文を見つけましたが、パフォーマンスの比較については何も見つかりませんでした。

4

3 に答える 3

3

Pierre Terdimannは、ここで、Bullet 2.81 と PhysX 2.8.4、3.2、および 3.3 の間で一連の広範なパフォーマンス比較を行い。これらは、どちらも CPU 上で実行される Bullet と PhysX の比較です。2 つのパフォーマンスの違いは、エンジンのどの機能が使用されているかに依存することがわかります。いくつかの機能ではパフォーマンスはほぼ同じですが、他のほとんどの機能では 3 倍から 5 倍高速化されています。

彼はまた、すべての物理機能が GPU 上の PhysX に移植されたわけではないことも補遺で述べています。GPU リジッド ボディ(GRB)と呼ばれる機能で、剛体は現在 GPU に移植されていますが、布とパーティクルは GPU で高速化できます。GPU で高速化された機能がある場合、CPU よりも高速であると期待できますが、どの程度かは明らかではありません。

于 2013-05-30T02:36:23.193 に答える
2

私はこれを見つけました。これは特定の CPU 物理エンジンとの比較ではありませんが、CPU で PhysX を実行して同じように比較していることを願っています。

したがって、それはかなり具体的ではなく、PhysX のメーカーによる FAQ からのものなので、少し塩を加えてください。

ここから:

ミッドエンドからハイエンドの GeForce GPU で PhysX を実行すると、ハイエンド CPU で実行される物理演算よりも 10 倍から 20 倍の効果と視覚的忠実度が実現します。

于 2013-05-23T07:24:38.933 に答える
1

physx が流体運動の重力などの粒子相互作用を行っているとしましょう。次に、それらは非常に並列であるため、キャッシュ制御は非常に重要です。CPU のキャッシュを直接制御することはできませんが、titan のキャッシュにアクセスできるため、8 スレッドの CPU よりも 100 倍高速になります。

それほど並列ではなく、多くの分岐があり、計算を使い尽くすことがない場合、約 10 倍から 5 倍のスピードアップ (またはグラフィック RAM/メイン RAM の帯域幅比) になります。

于 2013-05-24T15:12:18.593 に答える