Linux下使用wxGLCanvas导致画面闪烁的解决方案
来源:互联网 发布:linux文件修改权限 编辑:程序博客网 时间:2024/04/29 16:06
Solution to The Flicker When Using wxGLCanvas on Linux Platform
When we develop OpenGL applications under Linux with wxWidgets, we need wxGLCanvas as the OpenGL container. If we initialize the wxGLCanvas with default parameters, the whole drawing area will flicker after every redrawing(In Windows Platforms, this problem will not appear). This will be obvious when the drawing stuff is very complex especially.
wxWidgets docs told us that wxGLCanvas will use OpenGL double buffer by default. But this is a bug as far as I know. In fact, the default parameter will not initialize OpenGL double buffer, we must do this manually to avoid flicker.
The key point is the parameter ' int* attribList = 0' (You can refer to here). This parameter will be set to 0 by default. We should do like this if we wanna use OpenGL double buffer:
Here GL_Window is my class name.
After doing this, the flicker will disappear when re-draw event happened.
Linux下使用wxGLCanvas导致画面闪烁的解决方案
在Linux平台下使用wxWidgets作OpenGL应用开发时,需要使用wxGLCanvas作为OpenGL画面的载体. 如果使用默认参数来初始化wxGLCanvas,那么在每一次重绘事件后,画面就会闪烁一下(Windows平台下不会出现这样的闪烁)。尤其是绘制的东西很复杂时,闪烁会非常明显。
wxWidgets的文档说会自动以双缓冲的模式来初始化wxGLCanvas,但是据我目前所知,这是一个bug。事实上,我们必须手动的设置双缓冲,来避免画面闪烁。
手动设置的关键参数就是 ' int* attribList = 0'(关于wxGLCanvas初始化参数,请参考这里)。这个参数默认为0,我们通过以下的初始化方法来打开OpenGL双缓冲:
其中GL_Window是我自己Canvas的类名。
通过这样的初始化,打开OpenGL的双缓冲,重绘时的闪烁便能够消除。
- Linux下使用wxGLCanvas导致画面闪烁的解决方案
- 谁说WPF的画面不闪烁?
- LInux下环境变量配置错误导致不能登录的及命令失效解决方案
- LInux下环境变量配置错误导致不能登录的及命令失效解决方案
- linux下环境变量配置错误导致不能登录的及命令失效解决方案
- ”Mac下bash_profile添加错误环境变量导致path涉及的命令全不能使用“的解决方案
- 针对java画面闪烁
- window 窗口闪烁的解决方案。
- 【记录】bashrc文件中环境变量配置错误,导致linux无法正常使用的解决方案
- windows下建立文件的换行符^M导致linux下的shell脚本运行错误的解决方案
- 应用双缓冲技术解决画面闪烁的问题
- 解决J2ME画面闪烁的问题--双缓冲技术
- 应用双缓冲技术解决画面闪烁的问题
- 关于MFC OnDraw重绘时画面闪烁问题的解决
- C#防止在画面上闪烁的Button
- 在Activity画面中间添加闪烁的文字,
- Ubuntu 闪烁问题和画面断裂问题的解决
- linux开发板下更改开机启动的画面(2)
- 揭秘腾讯研究院:三分之二精力打造免费产品
- asp.net显示高清缩略图
- 简述STRUTS2 Convention零配置
- Delphi 完全时尚手册之 Visual Style 篇
- FTP设置SSL安全加密
- Linux下使用wxGLCanvas导致画面闪烁的解决方案
- 安装WebSphereMQ时,要求安装WebSphere Eclipse Platform
- 从清华硕士到军队连长 把才智献给祖国的贺霖【毅力】
- 梅花雪树2.0和测试例子
- 李开复透露创新工场首个项目基于手机平台
- BMP图像经过BitBlt缩放处理后质量变得很差怎样改变图片尺寸
- 魅族 M8 环境搭建
- 不得不看的好东东《编程之道》--转
- 齐向东:360不差钱 拥有国内首屈一指的杀软研发团队