Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-16439

Excessive calls into QRasterPaintEngine with examples/mainwindows/menus (with GL enabled)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 4.7.2
    • 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]

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            rodal Samuel Rødal
            ndhb Nicolai de Haan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes