开发在 GPU 而不是 CPU 上运行的 .net 程序
我正在制作一个2.5D渲染引擎。我认为(根据我从在线阅读中获得的知识)使用 GPU 进行渲染工作会比使用 CPU 更快。
这对于.net 来说可能吗?如果是这样,这是使用 GPU 的正确情况吗?
我还使用 VB.net,但所有 .net 示例都适用。
I am making a 2.5D rendering engine. I assume (with the knowledge that I've gotten from reading online) that doing the rendering work using the GPU will be faster than using the CPU.
Is this possible with .net? If so, is this a correct situation to utilize the GPU?
I'm also using VB.net, however all .net examples will apply.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为这可能有助于定义术语。
Microsoft .NET 是一个框架,包含一套开发人员技术。它由语言、运行时和提供通用功能的库组成。
如果您问,是否有专门用于在 GPU 上渲染的 .NET 库,答案是肯定的,有。
如果您问是否可以编写任何 .NET 应用程序,并让它在 GPU 上运行,那么不行,因为 GPU 不是通用处理器。 您可以使用其他库将某些任务卸载到 GPU。
如果您问,您可以用 VB、C# 或其他 CLR 语言编写着色器吗?是的,您可以这样做。
I think it might help to define terminology.
Microsoft .NET is a framework, encompassing a suite of developer technologies. It consists of languages, a runtime, and libraries that provide common functionality.
If you're asking, are there .NET libraries specific to rendering on a GPU, the answer is yes, there are.
If you're asking can you write any .NET application, and have it run on a GPU, no, as the GPU is not a general purpose processor. You can use other libraries to offload some tasks to the GPU.
If you're asking, can you write shaders in VB, C# or other CLR languages, yes you can do that to.
您的 .NET 程序将无法在 GPU 上运行,不是。
但是使用 Direct3D 或 OpenGL(两者都具有可用的 .NET 绑定),您可以对 GPU 进行编程来为您进行渲染。
但您不会编写在 GPU 上运行的 .NET 代码。 D3D 和 OGL 都采用 API 函数的形式,您可以调用它来将指令传递给 GPU,以及用专用的类 C 语言编写的着色器程序(用于 D3D 的 HLSL 和用于 OpenGL 的 GLSL)。
Your .NET program isn't going to be able to run on the GPU, no.
But using Direct3D or OpenGL (both of which have .NET bindings available), you can program that GPU to do the rendering for you.
But you won't be writing .NET code to run on the GPU. Both D3D and OGL take the form of API functions you can call to pass instructions to the GPU, as well as shader programs written in dedicated C-like languages (HLSL for D3D, and GLSL for OpenGL).