This site is no longer active and is available for archival purposes only. Registration and login is disabled.

CGapiSurface vs. CGapiRGBASurface


CGapiSurface vs. CGapiRGBASurface

Postby sunbeam60 » Sep 29, 2003 @ 11:32pm

sunbeam60
pm Member
 
Posts: 11
Joined: Jun 10, 2003 @ 12:24pm


Postby sunbeam60 » Sep 29, 2003 @ 11:34pm

sunbeam60
pm Member
 
Posts: 11
Joined: Jun 10, 2003 @ 12:24pm


Postby Johan » Sep 30, 2003 @ 7:33am

Johan Sanneblad, M.Sc, Ph.D
GapiDraw Systems Architect
[]
User avatar
Johan
pm Member
 
Posts: 1843
Joined: Jan 12, 2002 @ 12:38pm
Location: Sweden


Postby sunbeam60 » Sep 30, 2003 @ 8:27am

sunbeam60
pm Member
 
Posts: 11
Joined: Jun 10, 2003 @ 12:24pm


Postby Bunkai » Dec 2, 2006 @ 6:52pm

Hello,

I tried to summarize, what to do to get the best possible performance using AlphaBlending. Summarizing the information from manual, I get the following:

1. AlphaBlt() is slower than AlphaBltFast(), because it offers rotations and scaling. However, AlphaBlt() works best with RGBASurfaces.

2. On the other hand, AlphaBltFast() is much faster than AlphaBlt(), and AlphaBltFast() works best with separate RGB and Alpha surfaces.

Does that mean, that if I wan to achieve the maximum possible speed with AlphaBlended sprites, should I use separate RGB surfaces with AlphaBltFast() and forget about convenient RGBA surfaces?

Thank you very much,
with regards, Rene.
Bunkai
pm Member
 
Posts: 71
Joined: Mar 18, 2006 @ 5:01pm


Postby Johan » Dec 3, 2006 @ 1:41pm

Johan Sanneblad, M.Sc, Ph.D
GapiDraw Systems Architect
[]
User avatar
Johan
pm Member
 
Posts: 1843
Joined: Jan 12, 2002 @ 12:38pm
Location: Sweden


Postby Bunkai » Dec 3, 2006 @ 3:37pm

Bunkai
pm Member
 
Posts: 71
Joined: Mar 18, 2006 @ 5:01pm


Postby Bunkai » Dec 4, 2006 @ 9:59am

I studied this subject a bit more. I think the maximum speed gained from two separate files is because Alpha value is stored in RGB format too in the second file. Therefore, RGB can simply get multiplied by alpha without any precomputations.

I can use separate buffers, one for alpha value and one for RGB, if it helps to gain some speed. However, I would like to know, if I can use single transparent PNG file to load RGB and ALPHA value (using GDSURFACE_ALPHA), or if I get faster resutls by loading Alpha value from separate file, where alpha is stored as RGB. If that helps, I will enerate two separate files directly from photoshop: one for RGB and another for Alpha.

Thank you very much,
have a nice day,
Rene.
Bunkai
pm Member
 
Posts: 71
Joined: Mar 18, 2006 @ 5:01pm


Return to GapiDraw


Sort


Forum Description

The Cross-platform Graphics SDK for Palms, Pocket PCs, Symbian Devices, and Stationary PCs.

Moderators:

sponge, Johan

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron