【发布时间】:2012-04-23 13:38:00
【问题描述】:
我正在使用 wxWidgets 绘制一个大流程图,即 625 x 26329 像素。该程序从 Qt 传输到 wxWidgets。主框架的布局很容易,主框架内部有一个自定义的滚动窗口。滚动窗口每次在更新的客户区域内绘制图表的一部分。
现在 Qt 和 wxWidgets 有很大的不同。当鼠标滚动垂直滚动时,Qt 刷新绘制图表非常流畅,而 wxWidgets 则缓慢闪烁。
谁能告诉我如何有效地制作这幅画?
【问题讨论】:
-
除非您显示一些代码或至少详细说明您正在使用哪种小部件和/或绘画代码,否则不会。想到的一件事是,您可能在 Qt 上通过 OpenGL 启用了硬件加速绘画,但在 wxWidgets 上却没有,尽管两个框架都支持它。
-
我是这么认为的,也许Qt对我有很大帮助,而wxWidgets必须手动添加这样的支持。 BTW 如何使用 wxWidgets 支持硬件加速?
-
其次,我使用wxGCDC来制作抗锯齿效果。这是否需要设置一些参数来获得绘画效率?
-
如果 Qt 实现使用 QPainter 绘制图表,它可能使用 OpenGL 后端进行绘制。你看过这个教程吗:wxwidgets.org/docs/tutorials/opengl.htm?
-
更不用说 Qt 在优化的绘制事件队列中使用双缓冲,如果 wx 不使用它会解释闪烁。