QCustomPlot频繁绘画大数据 卡顿,添加支持OpenGL加速

OpenGl:open graphices library ,看着像是一个图形库,其实 opengl应该是一个标准,用于 渲染2D 3D立体等复杂的API接口。常用 CAD 虚拟现实  游戏 等,opengl你从官网找不到对应的链接库或者源码,因为 严格来说,他是个标准,声明了一系列 C类型的函数接口,像是glbegin()、gbcolor()等,但是只有声明 没有实现。那他怎么实现功能,怎么用呢?其实,opengl设计时,就是侧重输出,只管输出,没有窗口系统之类的东西,也没有输入设备之类的东西,像是麦克风、打印机、鼠标等。openGl规范了接口的规范,只是输出,具体拿到这个输出该怎么工作,是有开发者自行决定,比如屏幕显示画面是 显卡驱动 拿到输出后 翻译后经过自己的处理 最后显示画面,显卡驱动为什么会支持opengl呢?因为大多opengl开发者都是 显卡 的生产商。opengl的跨语言跨平台性也是吸引越来越多平台支持的原因。

因为OpenGL只负责输出,实际使用的时候 则需要其他库辅助,有很多针对OpenGL的库的封装,有针对 核心API封装的核心库(gl)、窗口的(库glx、agl、wgl)、工具库(glut、freeglut)、辅助库(aux)等。这些库都是 扩展库,也都是 众多 硬件厂商为了实现 更好的利用  OpenGL的扩展机制 开发的。

前面说为了使用OpenGL绘制,加速提高速度,QT、QCustomplot都包括了opengl的绘制支持,但是需要工具,这里选择的工具是freeglut,freeglut是glut的扩展,是其超集,支持glut所有的api,glut也是很老的版本,不再维护更新,freeglut更加稳定可靠。

Windows下载:Freeglut下载地址

 bin 和lib里面是dll和lib,  include里的GL文件夹是头文件,x64文件夹里的是64位库文件 ,文件夹外的是32位文件,根据项目需要选择,后面就是正常 加入库的流程

环境:vs 2017 + QT5.12

1)QT 选择模块 Opengl 和OpenGL的插件支持

 2)项目->属性->c/c++ 常规-》附加库目录里面添加 freeglut 里的include里的GL文件夹路径

3)

4)

 

安装完后 ,包含头文件后 在main函数中 调用 初始化即可使用

 

QcustomPot开启 opengl绘制加速 并判断是否开启成功。

customPlot->setOpenGl(true)

qDebug()<<"opengl open"<<customPlot->openGl()

  • 6
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值