【问题标题】:Mesa 3D slower than GDI+Mesa 3D 比 GDI+ 慢
【发布时间】:2013-05-02 08:42:48
【问题描述】:

我正在虚拟机 (VMWare WinXP SP2) 上运行 3d 实时应用程序 (C++)。我在 VMWare 中始终禁用 3d 加速。我已经测试了它在普通 Windows GDI OpenGL 1.1 和 Mesa 3D (7.8.2) 上运行。在 Mesa 上运行时,我拥有完整的 OpenGL 功能(VertexBufferObjects 等),但它比 GDI 实现慢得多。我知道 Mesa 是一个软件光栅化器,但我想 GDI 实现也是如此。那么为什么 Mesa 更慢呢?或者 Mesa 是否应该更快,它实际上是我的应用程序中的一个问题?

【问题讨论】:

    标签: opengl virtual-machine mesa


    【解决方案1】:

    Mesa 支持完全可编程的管道,因此支持软件光栅化器,它在某些时候使用即时编译,因此不像 Win32 GDI 那样积极优化。这是功能和性能之间的权衡。

    【讨论】:

    • 谢谢 datenwolf。镓 llvmpipe 是否是使其更快的替代方案? Mesa 网站称它是台面最快的光栅化器。目前我在Visual Studio中编译过Mesa 7.8.2,没有关注Galium。
    • @MichiMichbeck:镓是一种仅在 Linux (AFAIK) 中可用的图形架构。我不知道是否可以为 Windows 编译它。您还需要在系统上安装 LLVM 基础架构才能使用它(或以某种方式将其与 Mesa 捆绑在一起);到目前为止,我从来没有使用内置 LLVM 构建 Mesa,但无论如何让它始终使用安装在我系统上的 LLVM(对于 clang 和其他使用它作为后端的编译器)。
    • 好的,谢谢。我刚刚发现我使用了由 Mesa opengl32.dll 构建的调试 - 现在发布构建更快:)
    • @MichiMichbeck:我不知道在 Windows 上构建 llvmpipe 有多么容易,但是 llvmpipe 能够使用所有可用的内核,使其比“旧”的 sw 光栅化器快得多现代多核 CPU。
    猜你喜欢
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 2020-06-14
    • 2010-09-20
    • 1970-01-01
    • 2014-01-15
    • 2017-02-24
    • 2013-07-26
    相关资源
    最近更新 更多