2

基本的に問題は、Metro アプリで gpgpu コードを実行する方法です。ライブラリはコンピューティング専用である必要はありません。たとえば、一般的なコンピューティングに XNA の hlsl (元々は物事をレンダリングすることを目的としていました) を使用します (XNA は Metro に含まれていないため、私の問題です)。デフォルトの Metro ライブラリは、外部ライブラリへの参照よりも優先されます。

C++ でコア DirectX 関数を呼び出すことができることは認識していますが、メトロ アプリで C# の gpu を使用できるかどうかを尋ねています。

4

3 に答える 3

3

DirectCompute は、Metro アプリケーションのSharpDXで完全に使用できます (デスクトップ アプリケーションの場合と同じ API です)。ただし、一部のタブレットをターゲットにしている場合は、少なくとも DirectX10 グラフィック カードが必要です。タブレットが 10.0 または 10.1 の場合、ダウンレベル ハードウェアのコンピュート シェーダーにいくつかの制限があります。

于 2012-06-13T03:21:26.087 に答える
2

実際には可能だとは思いませんでしたが、その不可能性を証明するリンクを探していたときに、Win8MetroアプリケーションもサポートするマネージドDirectXラッパーであると称するSharpDXへの参照を思いつきました。詳細については、.hlslファイルを含むこのSharpDXサンプルプロジェクトを参照してください。

これは私の専門分野ではないので、これがうまくいくかどうかはわかりません。また、私は彼らがこれをどのように行うことができ、それでもアプリがストアでの販売のために認定されることを許可することができるのか疑問に思う必要があります。ただし、要件によっては、これを確認する必要がある場合があります。

(注:最初のリンクは、「[n] extバージョンのSharpDXは、完全に互換性があり、Win8 Metroスタイルのアプリケーションに対応する認定済みのアセンブリを提供する」と主張しているため、その意図は明確です。認定に関する上記の私の意見は、このようなアプリでは許可されていることに気づかなかったので、これは相互運用を行う必要があるように思われるので、彼らはそれについて楽観的かもしれません。しかし、私は完全に間違っている可能性があります。)

于 2012-06-12T18:23:58.537 に答える
1

GPU.NET は、特別にマークおよび記述された C# コードを GPU コードに JIT コンパイルします。

www.tidepowerd.com

まだ試していませんが、コンセプトは有望で、コードは比較的きれいに見えます。すべてC#内で.....

于 2012-07-09T12:47:17.837 に答える