5

QtQuick GUI (C++) と Haskell バックエンドでパッケージを使用してイメージを処理する 2 つの部分で構成されるアプリケーションを構築していrepaますaccelerate

GUIでインタラクティブに画像を表示したい。データをコピーするのではなく、ある種の共有メモリまたはその他のメカニズムを使用して、最大のパフォーマンスを実現したいと考えています。

これらの画像を C++ GUI でインタラクティブに「転送」して表示する最良の方法は何ですか?

HQKとについて聞いたことがありますが、v4.8 までqtHaskellしかサポートしていません (v5.0 から v5.2 が必要です)。qtquick

4

3 に答える 3

1

うーん、使えますmmapか?Haskell にはvector-mmapがあり、ファイルを (共有) メモリに読み取り専用または変更可能なベクトルとしてマップします。

于 2013-11-08T11:21:23.417 に答える
1

HaskellコードをC++コードの中に直接埋め込むことでおそらく逃げることができるので、 FFIを見てみます! これにより、それらの間でメモリを共有することもできます。

C++ で h​​askell プログラムへのパイプを開き、その方法でデータを渡すこともできますが、その場合はメモリ内にコピーを作成します。画像が巨大でない限り、メモリにコピーを作成してもパフォーマンスに大きな違いがあるとは思えません。

于 2014-01-14T07:16:10.863 に答える