Discussion Board

Results 1 to 5 of 5
  1. #1
    Regular Contributor
    Join Date
    Mar 2003

    Graphics performance on 5800 (BitBlt)

    I have built and tested my application on the 5800. It seems to struggle rendering the UI to such an extent that it also impacts network performance. I assume that this is a direct result of the increase in resolution.

    I draw to an off-screen buffer (CFbsBitmap) and paint this to the screen using CWindowGc::BitBlt(). I have now made a change to only blt the areas of the screen that have changed since the last paint and this has improved the performance to some extent.

    However there are a number of use cases where I cannot avoid repainting the entire screen and the performance here is still very poor. Are there any recommended ways to improve performance?

    I would prefer not to use direct screen access or OpenGl but I will consider them if they're the only way to achieve significant performance increases.

  2. #2
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Oslo, Norway

    Re: Graphics performance on 5800 (BitBlt)

    Are you using the same display mode (for the off-screen bitmap) as the screen itself?

  3. #3
    Super Contributor
    Join Date
    Mar 2003

    Re: Graphics performance on 5800 (BitBlt)

    OpenGL ES won't provide you any significant performance increases (rather the opposite) because there is no hardware graphics acceleration on the 5800.

    According to http://www.forum.nokia.com/devices/5800_XpressMusic the 5800 has a single-CPU, ARM 11 @ 369MHz.

    That's the same as listed for the N81 http://www.forum.nokia.com/devices/N81 but with the 5800 you need to move three times the amount of pixels to handle the bigger resolution.

  4. #4
    Regular Contributor
    Join Date
    Mar 2003

    Re: Graphics performance on 5800 (BitBlt)

    >>Are you using the same display mode (for the off-screen bitmap) as the screen itself?


    CGraphicsDevice* pGraphicsDevice = CEikonEnv::Static()->ScreenDevice();
    TSize size = pGraphicsDevice->SizeInPixels();

    CFbsBitmap* pBitmap = new CFbsBitmap;
    pBitmap->Create(size, pGraphicsDevice->DisplayMode());

  5. #5
    Registered User
    Join Date
    Sep 2007

    Re: Graphics performance on 5800 (BitBlt)

    I'm running into the exact same problem. I've worked out the the BitBlt takes around 60ms, this means that you can get a maximum of 16fps. Useless for a game, my 3D game was running at 5-6fps. By halving the game internal res and do so scaling up myself I can get it to 10fps.
    I'm trying the CDirectScreenAccess API but it's not making much of a difference. Also due to having to use BitBlt to draw my internal bitmap to the GC that I've got from CDirectScreenAccess. Anyone has an idea of how to get the direct bitmap to the screen so I can skip using BitBlt and just paint straight to the screen bitmap ?

Similar Threads

  1. A question about fbsbitmap bitblt performance
    By codecman in forum Symbian
    Replies: 6
    Last Post: 2008-10-22, 16:10
  2. A bug: setColor with offscreen graphics - PLEASE, REPLY THIS TIME
    By palmcrust in forum Mobile Java General
    Replies: 11
    Last Post: 2003-12-04, 12:43
  3. Best Game Graphics Performance?
    By royzhou in forum Symbian
    Replies: 5
    Last Post: 2003-07-24, 12:55
  4. Using the Graphics object outside of paint()?
    By weedy in forum Mobile Java General
    Replies: 4
    Last Post: 2003-06-06, 10:03
  5. Realtime graphics on 7650
    By suckho in forum Symbian
    Replies: 2
    Last Post: 2002-09-18, 11:14

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts