Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
4.7.1
-
None
-
Qt 4.7.1 running on NVIDIA Tegra2 with X11 server 7.5, EGL 1.4, ES 2.0.
-
84658ec4e650b12dcea6f886b530e66a195465cf
Description
When we run examples/mainwindows/menus with the GL graphics system enabled we observe a large number of calls into the QRasterPaintEngine. This leads to excessive CPU load and seems unnecessary with HW acceleration enabled.
To reproduce:
1) Run examples/mainwindows/menus -graphicssystem opengl
2) Move mouse to menubar: "Edit" -> "Format". Lots of successive bursts of calls (see below for detail) into QRasterPaintEngine whenever the mouse cursor is moved over the menuitem "Format". For instance, try to set some breakpoints in QRasterPaintEngine functions with gdb, then enable these when mouse is hovering over this menuitem.
Functional calls:
QRasterPaintEngine::begin( 0x7efa7918 ) devType: 3 devRect: QRect(0,0 8x8)
QRasterPaintEngine::transformChanged() QTransform(type=TxTranslate, 11=1 12=0 13=0 21=0 22=1 23=0 31=-2 32=-1 33=1)
QRasterPaintEngine::penChanged(): QPen(0,QBrush(QColor(ARGB 1, 1, 1, 1) , SolidPattern ) , SolidLine , 16 , 64 , QVector() , 0 , 2 )
QRasterPaintEngine::brushChanged(): QBrush(QColor(ARGB 1, 1, 1, 1) , SolidPattern )
- QRasterPaintEngine::drawPolygon(I), pointCount=3
QRasterPaintEngine::updatePen(): QPen(0,QBrush(QColor(ARGB 1, 1, 1, 1) , SolidPattern ) , SolidLine , 16 , 64 , QVector() , 0 , 2 )
QRasterPaintEngine::updateBrush() QBrush(QColor(ARGB 1, 1, 1, 1) , SolidPattern )
QRasterPaintEngine::end devRect: QRect(0,0 8x8)
QRasterPaintEngine::init()
QRasterPaintEngine::begin (devType == 3)
QRasterPaintEngine QSpanData::setup()
QRasterPaintEngine QSpanData::setup()
QRasterPaintEngine::transformedChanged()
QRasterPaintEnginePrivate::recalculateFastImages()
QRasterPaintEngine::penChanged()
QRasterPaintEngine::brushChanged()
QRasterPaintEngine::drawPolygon()
QRasterPaintEngine QSpanData::setup()
QRasterPaintEnginePrivate::updateMatrixData()
QRasterPaintEngine QSpanData::setup()
QRasterPaintEnginePrivate::updateMatrixData()
QRasterPaintEngine::strokePolygonCosmesticn()
QRasterPaintEngine drawLine_midpoint_i()
QRasterPaintEngine drawLine_midpoint_i()
QRasterPaintEngine::fillRect_normalized()
QRasterPaintEngine drawLine_midpoint_i()
QRasterPaintEngine::end()
... [repeating]