Qt QML/C++ Mac OS X 上的半透明窗口存在故障和性能问题
我开发了一个 Qt/QML
应用程序,我在半透明的无框架 QMainWindow
中使用半透明的 QDeclarativeView
显示该应用程序(请参阅 此)。该应用程序相当复杂,内部有一些 ListView
以及一些轮询远程服务器以获取数据并提供视图的线程。该程序在Windows 7上完美无缺地全速运行,没有任何故障。但是当我在Snow Leopard上编译并运行它时,我遇到了以下问题;
- GUI 渲染通常很慢
- 当我用鼠标滚轮滚动
ListView
时,滚轮操作会影响底层窗口,并且我的 GUI 会闪烁,就好像它无法足够快地渲染一样。通常,当我在 GUI 上单击某些内容时,鼠标单击只是穿过我的窗口到达底层窗口并将其带到前面。 - 鼠标操作感觉很别扭。有明显的延迟。
这些问题在附加或不附加 gdb 的发布和调试版本中都存在。
这些问题听起来与我有关,但我很困惑。为什么在 Win7 上运行完美的应用程序在 Snow Leopard 上却表现不佳?我是否缺少某些特定配置?
I've developed a Qt/QML
application which I display with a translucent QDeclarativeView
in a translucent frameless QMainWindow
(see this). The application is fairly complex with a a few ListViews
inside and some threads that poll a remote server for data and feed the views. The program runs flawlessly and at full speed without glitches on Windows 7. But when I compile and run it on Snow Leopard I've got the following problems;
- GUI rendering is slow in general
- When I scroll the
ListView
with the mouse wheel, the wheel actions affect the underlying window and my GUI flickers as if it can't render fast enough. Also often when I click something on my GUI, the mouse click just passes through my window onto the underlying window and brings it in front. - Mouse actions feel awkward. There is a significant delay.
These problems are present on both the Release and Debug builds with/without gdb attached.
The problems sound related to me but I'm confused. Why would an application running perfectly on Win7 perform badly on Snow Leopard ? Am I missing some specific configuration ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论