【问题标题】:Is the opengl code running on GPU?opengl 代码是否在 GPU 上运行?
【发布时间】:2011-12-29 02:15:28
【问题描述】:

当有一个程序时,它由普通的c++代码和opengl代码组成。 因此,c++ 和 opengl 都被编译并链接到 ELF。 而且,似乎它们都在 CPU 上运行。

为什么opengl代码比c++代码更有能力在屏幕上绘画?

【问题讨论】:

    标签: c++ opengl


    【解决方案1】:

    为什么opengl代码比c++代码更有能力在屏幕上绘画?

    因为 OpenGL 只是向 GPU 发送绘图命令,然后 GPU 会做大量工作。请注意,还有一些 OpenGL 实现不是 GPU 加速的,因此并不比在 CPU 上运行的其他软件光栅化器快。

    【讨论】:

      【解决方案2】:

      除非您在谈论 GLSL,否则“C++ 代码”和“OpenGL 代码”之间没有区别。这一切都只是 C 或 C++,这取决于您正在构建的内容。 OpenGL 是一个 API,一个包含执行某些功能的函数的库。

      您的代码调用 OpenGL 函数,这些函数在功能上与您可能调用的任何其他 C++ 函数没有什么不同。 C++ 中的函数会根据它们的实现方式做一些事情。

      OpenGL 函数使用 GPU 特定的结构告诉 GPU 做什么。这就是 OpenGL 的用途:抽象出硬件的细节,以便您可以编写不依赖于硬件的代码。您调用 OpenGL 函数的代码应该适用于任何支持最低 GL 版本(和扩展,如果您正在使用)的 OpenGL 实现。

      同样,std::fstream 抽象出 Windows 和 Linux 文件访问命令之间的差异。用户使用相同的 API,但在不同的操作系统上有不同的实现。

      【讨论】:

      • 我想对于两个极小的值。
      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 2017-07-27
      • 2017-09-02
      • 1970-01-01
      • 2011-04-27
      • 2018-09-11
      • 2017-02-08
      相关资源
      最近更新 更多