我的wxWidgets应用程序有一个带有wxAUIManager的主wxFrame。在四个窗格中,我分别有一个wxTreeCtrl、一个wxNotebook (在wxPanel中管理闪烁)、一个wxListBox和一个wxGLCanvas。
为了管理闪烁问题,我想让wxFrame具有双缓冲。然而,这会干扰wxGLCanvas的呈现(我猜这是由于wxGLCanvas本身的双缓冲特性)。
有没有一种方法可以在不扭曲渲染的情况下将wxGLCanvas用作双缓冲wxFrame的子对象?
我在Windows10机器上使用wxWidgets 3.1.0。
更新:
对于“扭曲渲染”,我的意思是我的几何图形没有被渲染。调整主wxFrame的窗格大小时,它们会在GLCanvas上绘制,并保持在GLCanvas上绘制,即使窗格保持其原始大小也是如此。
我也尝试在wxWidgets示例中的多维数据集示例中重现此问题,但似乎可以正常工作。
发布于 2017-02-07 07:19:06
每次GLCanvas改变大小时,你都应该进行渲染。另外,在其他窗格处理完此GLCanvas大小事件之后再处理它(最后一个被处理的窗格将一个size-event发布到GLCanvas)。
https://stackoverflow.com/questions/42042311
复制相似问题