LTR*_*LTR 15 .net c# sse simd slimdx
我使用SlimDX用C#编写的3D图形软件在CPU上进行了大量的矢量操作.(在这种特定情况下,无法将工作卸载到GPU).
如何让矢量数学更快?到目前为止,我发现了这些方法:
还有其他选项可以在.NET中实现更快的矢量数学吗?
使用Microsoft Visual C++的编译器编写DLL.对于繁重的数字代码,使用标准C++和SSE内在函数和/或OpenMP #pragma unmanaged.使用#pragma managed定义C#可以使用的干净C++/CLI API.
C++ interop比p/invoke快一点.而C++/CLI是处理垃圾收集内存和本机函数假设(内存块不会移动)的唯一优雅方式.
您可能会发现将一些OpenGL调用移动到C++,并且直接使用C++分配的内存缓冲区来加载VBO等也会带来很大的性能提升.
| 归档时间: |
|
| 查看次数: |
8147 次 |
| 最近记录: |