【问题标题】:Developing .net programs to run on the GPU instead of the CPU开发 .net 程序以在 GPU 而不是 CPU 上运行
【发布时间】:2011-10-02 09:39:55
【问题描述】:

我正在制作一个 2.5D 渲染引擎。我假设(根据我从在线阅读中获得的知识)使用 GPU 进行渲染工作将比使用 CPU 更快。

.net 可以吗?如果是这样,这是使用 GPU 的正确情况吗?

我也在使用 VB.net,但是所有 .net 示例都适用。

【问题讨论】:

  • 这里最好的选择可能是使用一些已经使用 GPU 实现渲染的库,比如 XNA。

标签: .net vb.net cpu gpu


【解决方案1】:

您的 .NET 程序将无法在 GPU 上运行,不。

但是使用 Direct3D 或 OpenGL(两者都具有可用的 .NET 绑定),您可以对 GPU 进行编程来为您进行渲染。

但您不会编写在 GPU 上运行的 .NET 代码。 D3D 和 OGL 都采用 API 函数的形式,您可以调用这些函数将指令传递给 GPU,以及用专用的类 C 语言编写的着色器程序(用于 D3D 的 HLSL,用于 OpenGL 的 GLSL)。

【讨论】:

  • 对于 D3D,SlimDX 是我所知道的最好的 .NET 包装器。对于OpenGL,有几个选项here,但我不知道哪个最好。虽然我经常建议 Tao 领导
【解决方案2】:

我认为定义术语可能会有所帮助。

Microsoft .NET 是一个框架,包含一套开发人员技术。它由提供通用功能的语言、运行时和库组成。

如果您要问,是否有专门用于在 GPU 上渲染的 .NET 库,答案是肯定的,there are

如果您要问是否可以编写任何 .NET 应用程序并让它在 GPU 上运行,不可以,因为 GPU 不是通用处理器。 You can use other libraries to offload some tasks to the GPU.

如果您要问,您能否用 VB、C# 或其他 CLR 语言编写着色器,是的,您可以这样做。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 2020-07-26
    • 2015-07-16
    • 2016-04-09
    • 2021-11-26
    • 2017-09-29
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多