首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Visual-C++动态链接库复制2-3兆字节到C#缓冲区的最快方法?

什么是Visual-C++动态链接库复制2-3兆字节到C#缓冲区的最快方法?
EN

Stack Overflow用户
提问于 2013-07-12 20:58:08
回答 1查看 201关注 0票数 1

什么样的C#缓冲区可以处理这个问题呢?

我需要我的C#解决方案.exe从生成实时视频帧(高达60帧/秒)并将其复制到C#缓冲区的Visual-C++动态链接库获取大约2-3MB的数据,每秒高达60次。然后,C#将通过USB将这些数据转发到另一台计算机。

我尝试过C#字符串,但有一个最大大小限制(大约10KB)。

我正在考虑一个包含数据缓冲区和握手变量的C#结构。

可能,我将需要多个缓冲区,因此可能需要这些结构的数组。

但是,本质上,最好的方法是什么(最快!)给出某种C#缓冲区的动态链接库的目的地址,以便动态链接库将其生成的2-3MB的数据拷贝到缓冲区中,然后设置一个变量标志,同时C#正在轮询这个标志,以了解数据何时在缓冲区中,以便进一步处理。

我认为Buffer应该首先由C#创建,而不是DLL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 23:46:36

这是一个想法:

  1. C#代码将缓冲区分配到固定地址
  2. 将指针传递到C++代码
  3. C++代码现在可以直接写入缓冲区(甚至可以使用零复制方法)

< code >G29

优点是您可以使用普通的托管byte[]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17615474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档