gpt4 book ai didi

c++ - 将图像从 Haskell 后端交互发送到 Qt QUI 的最佳方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:53 27 4
gpt4 key购买 nike

我正在构建一个由两部分组成的应用程序:QtQuick GUI (C++) 和使用 repa 处理图像的 Haskell 后端和 accelerate包裹。

我想在 GUI 中以交互方式显示图像。我不希望复制数据,而是使用某种共享内存或任何其他机制,这将使我获得最大的性能。

在 C++ GUI 中以交互方式“传输”和显示这些图像的最佳方式是什么?

我听说了 HQKqtHaskell , 但它只支持 qtquick 到 v4.8(我们需要 v5.0 - v5.2)

最佳答案

我不确定 Haskell,但在 lablqt(我用于构建 QtQuick+OCaml 应用程序的库,http://kakadu.github.io/lablqt/)中我会尝试这种方法:

  1. 我们在 OCaml/Haskell 端将图像存储为可变的字符数组(在 OCaml 中称为字符串),并且我们阻止 GC 移动该值。
  2. 在 C++ 端,我们存储图像的地址,并用它来构建 QString。我不希望有任何复制,因为 QString 使用写时复制。
  3. 利润

也许这种方法很糟糕,因为如果我们需要调整图像大小,GC 将实例化新图像,将旧图像复制到新图像,之后我们需要在 C++ 端更新指向图像的指针。

对不起,在我看来是无法使用的。

关于c++ - 将图像从 Haskell 后端交互发送到 Qt QUI 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19834960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com