1

また、これを処理できる C# バッファはどのようなものでしょうか?

ライブ ビデオ フレーム (最大 60/秒) を生成し、それを C# バッファーにコピーする Visual-C++ DLL から、約 2 ~ 3MB のデータを 1 秒あたり最大 60 回取得するには、C# ソリューション .exe が必要です。次に、C# はこのデータを USB 経由で別のコンピューターに転送します。

C# String を試しましたが、最大サイズ制限があります (およそ 10KB 程度)。

データ バッファーとハンドシェイク変数を含む C# 構造体を考えています。

おそらく、複数のバッファが必要になるので、これらの構造体の配列が必要になるでしょう。

しかし、本質的に、DLLが生成されたデータの2〜3MBをバッファにコピーし、その間に変数フラグを設定できるように、ある種のC#バッファのDLL宛先アドレスを与える最良の方法(最速!!!)は何ですかC# はこのフラグをポーリングして、データがいつバッファーにあるかを認識し、さらに処理できるようにします。

バッファーは、DLL ではなく、C# で最初に作成する必要があると思います。

4

1 に答える 1

1

ここにアイデアがあります:

  1. C# コードにバッファーを割り当てさせる
  2. 固定アドレスに固定する
  3. ポインターを C++ コードに渡す
  4. C++ コードはバッファに直接書き込むことができるようになりました (おそらくゼロコピー アプローチを使用しても)。

利点は、通常のマネージド を使用できることですbyte[]

于 2013-07-12T15:46:36.130 に答える