我想1秒钟刷新10次窗口,测试过程中发现,在paintevent中只写一个QPainter,如下
paintEvent ( QPaintEvent * event ){
QPainter p;
p.begin(this);
p.end();
}
只是这么一个空的窗口,CPU使用率15%以上,窗口继承的是QGLWidget。
QGLWidget的paintevent应该也是调用的OpenGL,但是如果完全用OpenGL写的话,CPU使用率0%。现在我怀疑是p.begin(this)取得绘图设备消耗了CPU,想在程序初始化的时候,只取一次绘图设备。但是,却不能实现重画的功能。
此外,窗口小于800*800左右的时候,cpu使用率为0,当大于这个时cpu会增长到15%,继续增大也保持在15%左右。有可能与显卡有关(使用的是集成显卡,64MB共享显存)。
请求各位高手帮我解决这个困扰很久的问题。