.net 在托管和非托管函数之间共享大型位图对象的最快/高性能方法

.net 在托管和非托管函数之间共享大型位图对象的最快/高性能方法,.net,performance,image-processing,c++-cli,computer-vision,.net,Performance,Image Processing,C++ Cli,Computer Vision,在WPF.NET中使用GUI并使用本机库(OpenCV等)处理的计算机视觉应用程序上工作时, 在托管(C#.NET)和非托管(原生C/C++)函数之间发送和接收大尺寸位图的最快方法是什么?我觉得将位图数据从托管内存复制到非托管内存不是最快的方法,应该有更好的选择 如果有人能够批准或建议更好的替代方案,我发现了一些方法: 方法1:使用pin_ptr “pin”内存,使用pin_ptr,而不是将位图对象的像素数据从托管复制(编组)到非托管,以提高性能/速度 方法2:非托管WPF成像组件 方法3:HB

在WPF.NET中使用GUI并使用本机库(OpenCV等)处理的计算机视觉应用程序上工作时,
在托管(C#.NET)和非托管(原生C/C++)函数之间发送和接收大尺寸位图的最快方法是什么?我觉得将位图数据从托管内存复制到非托管内存不是最快的方法,应该有更好的选择

如果有人能够批准或建议更好的替代方案,我发现了一些方法:

方法1:使用pin_ptr
“pin”内存,使用pin_ptr,而不是将位图对象的像素数据从托管复制(编组)到非托管,以提高性能/速度

方法2:非托管WPF成像组件

方法3:HBitmap::LockBits()
它确实锁定位图并提供像素数据句柄,但我看到它确实分配内存