Results 1 to 7 of 7

Thread: Qt/CE Rendering Performance

  1. #1
    Join Date
    Dec 2007
    Posts
    15
    Qt products
    Qt4 Qt/Embedded

    Default Qt/CE Rendering Performance

    I am not sure if this is the right place for Qt/CE but please take a look at this problem.

    Our target is a Davinci 300Mhz platform, LCD resolution is 800x480, we are trying to use the preview version of Qt/CE as our GUI toolkit. We've tried both 4.3.2 and 4.4 and both had the same performance issues.

    The widget has four QPushButtons which are styled through a stylesheet like this:

    Qt Code:
    1. PolyQPushButton
    2. {
    3. border: none;
    4. background-image: url(Skins/default/softkey.png);
    5. background-repeat: no-repeat;
    6. background-position: bottom center;
    7. min-width: 116px;
    8. max-width: 116px;
    9. min-height: 30px;
    10. max-height: 30px;
    11. color: white;
    12. }
    13. PolyQPushButton:pressed
    14. {
    15. background-image: url(Skins/default/softkey-pressed.png);
    16. }
    17. CSoftKeyWidget
    18. {
    19. background-image: url(Skins/default/softkeybk.png);
    20. background-repeat: no-repeat;
    21. min-width: 720px;
    22. min-height: 50px;
    23. }
    To copy to clipboard, switch view to plain text mode 

    The problem I am having is, whenever we update the labels of the QPushButton, it takes about 100-150ms to finish the rendering.. We are having problems with other widgets too on Qt/CE.

    My question is, have any of you done performance evaluation on Qt/CE? Is there anyway that we could speed things up?

    Thanks in advance for your help!
    Jim
    Last edited by jpn; 19th December 2007 at 06:42. Reason: missing [code] tags

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    5,372
    Thanks
    28
    Thanked 976 Times in 912 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt/CE Rendering Performance

    Quote Originally Posted by jimfan View Post
    Is there anyway that we could speed things up?
    How big are those images? You could use strace (or similar tool) to see how often Qt tries to read them.

  3. #3
    Join Date
    Dec 2007
    Posts
    15
    Qt products
    Qt4 Qt/Embedded

    Default Re: Qt/CE Rendering Performance

    image size are specified in the stylesheet (112x30)

  4. #4
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    5,372
    Thanks
    28
    Thanked 976 Times in 912 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt/CE Rendering Performance

    Quote Originally Posted by jimfan View Post
    image size are specified in the stylesheet (112x30)
    softkeybk.png seems to be bigger.

    I would check when Qt reads those files from the disk. The delay might be caused by reading and decompression. You can place those files in resources to avoid reading overhead or use a smaller image.

  5. #5
    Join Date
    Dec 2007
    Posts
    15
    Qt products
    Qt4 Qt/Embedded

    Default Re: Qt/CE Rendering Performance

    We have actually tried stylesheet with no background image for skbackground and softkeys, so it looks just like a regular push button. The speed is about the same. The modified stylesheet looks like this:

    QPushButton
    {
    min-width: 116px;
    max-width: 116px;
    min-height: 30px;
    max-height: 30px;
    color: white;
    }
    PolyQPushButtonressed
    {
    }
    CSoftKeyWidget
    {
    min-width: 720px;
    min-height: 50px;
    }

  6. #6
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    5,372
    Thanks
    28
    Thanked 976 Times in 912 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt/CE Rendering Performance

    Does this delay appear if you use style sheets? Have you tried a profiler to see where exactly this time is spent?

  7. #7
    Join Date
    Dec 2007
    Posts
    15
    Qt products
    Qt4 Qt/Embedded

    Default Re: Qt/CE Rendering Performance

    looks like the printf() call for debug purposes slowed down the rendering process. We have multiple rendering descriptions (xml files) to send to the widgets, adding printf()s to the serial port seems to block these actions and causing unnecessary delays. After removing these calls it looks like it's a lot faster. Thanks for your help anyways.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.