Re: [AD] Framerate under the 4.1.x WIP Windows builds is mysteriously slow. |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
On Sun, 2005-03-06 at 11:03 +0000, Peter Hull wrote:
> I've been looking at the DirectX9 documentation and also I have a rough
> idea how OpenGL does things. Is it fair to say that:
>
> The only thing stopping Allegro from using more hardware acceleration
> is that it has a readable 'screen' bitmap?
>
The only thing is lack of implementation.
> Under both these systems, the method seems to be that you draw
> everything onto an off-screen buffer, and then show it, using the
> 'Present' or 'flip' function. In OpenGL you can't even read the
> off-screen buffer, but in DX9 you can (you have to specially request a
> 'lockable back buffer' - which may reduce performance, I don't know)
>
> In many game situations you don't need to read from 'screen', or even
> from the back-buffer. The two obvious examples are floodfill and
> translucency, and the latter would be done by the hardware anyway.
>
> What I'm wondering is whether the future Allegro could have a flag in
> set_gfx_mode() to say that you don't need to read from 'screen,' and in
> that case, better use of acceleration could be made.
>
> Is this correct or have I misunderstood the way Allegro works?
There's already the start of an OpenGL driver (http://allegrogl.sf.net)
- it just never got finished. But simple games which e.g. just use
blit() already work with it, and in the case of linux run much faster
than programs using the X11 driver. In windows, normal blit() already is
HW accelerated, so there's not that much difference there AFAIK. And
translucency isn't implemented yet I think.
--
Elias Pschernig