DirectFB - Home of the pragmatist Roadmap

[directfb-users] Re: NSC Geode display driver with FBDirect
Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[directfb-users] Re: NSC Geode display driver with FBDirect

Quoting Michael McLellan:
> Hi, Thanks for the reply, here's a little more info about what I'm
> doing.
> The application is running full screen, and mostly loads png's with
> alpha channels, screen resolution is 640x480. I'm guessing the alpha
> blending functions can't be handled in hardware so this is the
> bottleneck.

Blitting ARGB with DSBLIT_BLEND_ALPHACHANNEL onto ARGB (or others)
is not accelerated in the NSC driver. The software driver needs to
read from video memory for every pixel it blends with the image.

You may try using DSCAPS_SYSTEMONLY for the primary surfaces caps.
It speeds up blending operations a lot, but disables acceleration
completely, because the back buffer is stored in memory which is not
accessable by the GPU. Depending on how much blending you are using
this might give you an overall performance boost or impact.

I assumed that you are using DSCAPS_PRIMARY along with DSCAPS_DOUBLE.

> Are there some tricks I can do with the images to speed up the loading?
> If I save some images without alpha channels when I blit them on a
> surface with an ARGB pixelformat will they draw quicker than images with
> an alpha channel?

In general it's better to save images without an alpha channel if there's
no need for that. The image loading automatically chooses the pixel format
of the primary layer if no alpha channel is contained in the image, otherwise
it uses ARGB.

For optimal performance I suggest using RGB16 for the primary surface, using
images without alpha channel where possible. Depending on the number of alpha
blended blits I would choose between video or system memory back buffer.

Best regards,
  Denis Oliver Kropp

| DirectFB - Hardware accelerated graphics |
|                 |

                            Convergence GmbH

Home | Main Index | Thread Index / Development / Old Archives