QtOpenGL 和 MacOS X——软件渲染?

发布于 2024-09-19 04:47:20 字数 385 浏览 6 评论 0原文

我正在开发一个跨平台应用程序,对Mac平台不是很熟悉。我使用 Qt 作为 GUI。我使用 QGLWidget 来确保绘图(使用 QPainter)是在 OpenGL 中完成的。

我的项目在 XCode 中构建良好并运行。然而,在 Windows 和 Linux 机器上速度不是问题的情况下,绘图速度非常慢。 Macbook 配备 Nvidia GPU,而 Windows 机器仅配备板载英特尔显卡。

当我查看二进制文件时,似乎在链接到 QtOpenGL lib 时,它没有明确链接到 GL lib 本身。

  • 如何测试硬件加速是否正常工作或软件后备渲染是否正在执行任务?

  • 我的二进制文件不应该链接到 GL lib,还是隐藏为递归依赖项?

I'm developing a cross-platform application and am not very familiar with the Mac platform. I use Qt for the GUI. I use a QGLWidget to make sure the drawing (with QPainter) is done in OpenGL.

My project built fine in XCode and runs. However, drawing is slow as hell, in situations where on Windows and Linux machines speed is not an issue. The Macbook has an Nvidia GPU, whereas the Windows machine has only onboard intel graphics.

When I look at the binary, it seems that while linking to QtOpenGL lib, it does not explicitely link to the GL lib itself.

  • How can I test if hardware acceleration is working or software fallback rendering is doing the job?

  • Shouldn't my binary link to the GL lib, or is this hidden as being a recursive dependency?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

给不了的爱 2024-09-26 04:47:20

查看 OpenGL 实现使用的最佳方法是打印 glGetString(GL_VENDOR) 和 glGetString(GL_RENDERER) 的值,这应该有助于查明问题。

The best way to see what OpenGL implementation is using is to print the value of glGetString(GL_VENDOR) and glGetString(GL_RENDERER), this should help pinpoint the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文