Menu

#90 Triple buffering and page flipping keyboard trouble

closed
5
2012-10-09
2006-02-22
Anonymous
No

I've tried the included examples ex3buf and exflip and
also another of the examples which uses page flipping
with 4.2.0 and 4.3 on an AMD64 system running Gentoo
Linux equipped with an old nvidia geforce 2mx card.
The driver includes DGA support.
Running the examples with super user privileges and
GFX_XDGA2 seems to be the only way for me to get triple
buffering.
Linked against allegro-4.2.0 this resulted in very high
keyboard response delay and xterm keyboard garbage.
Linked against allegro-4.3 from svn the delay is
considerable lower but still the examples don't quit
immediatly with page flipping or triple buffering and
terminal gets alot of newlines and some stuff is invisible.

j_daniel@rbg.informatik.tu-darmstadt.de

Discussion

  • Nobody/Anonymous

    Logged In: NO

    Doing the above with the standard GFX_XWINDOWS_FULLSCREEN
    driver after having used DGA causes unable to create video
    bitmap errors.

     
  • Elias Pschernig

    Elias Pschernig - 2006-02-22

    Logged In: YES
    user_id=32894

    Yes, DGA/DGA2 only works as root, and has been abandoned by
    the X11 devs. And I get similiar results here (and the dga2
    test app simply crashes).. so I gather, DGA is broken (or do
    you have any working DGA apps on your system?)

    So, not much we can do about it from inside Allegro. Allegro
    4.3 will have an OpenGL driver which can do everything DGA
    could (and more), but it will be some time until that is
    useable.

    The standard way to deal with this right now is to use a
    memory buffer for drawing under X11.

    Of course, this means, you get no HW acceleration at all, so
    another option would be to get the AllegroGL addon from CVS,
    and do your graphics with OpenGL. More work, but you get to
    play with OpenGL :) (If you are using C++, there's also
    another addon called OpenLayer which I heared is easier to
    use..)

     
  • Nobody/Anonymous

    Logged In: NO

    I did another try without DGA create_video_bitmap always
    fails with 4.3. exupdate is a good program to test it.
    With allegro-4.2 it doesn't seem to fail but the keyboard
    response is high and the fps display seems way too high.

     
  • Elias Pschernig

    Elias Pschernig - 2006-02-23

    Logged In: YES
    user_id=32894

    Ah, yes, I remember, the X11 page flipping hack, from
    exupdate.c:

    ifdef ALLEGRO_VRAM_SINGLE_SURFACE

    if (set_gfx_mode(card, w, h, w, num_pages*h) != 0) {

    else

    Well, I'm not sure how much benefit it has, since it limits
    you to create the pages out of the desktop dimension. So you
    can get 320x200 pages, but no pages with the desktop size.

    The FPS are high because no vsync is done in that case it
    seems, as with the other update methods (this is probably a
    bug..).

    About the keyboard response, is it normal with the other
    update methods?

     
  • Nobody/Anonymous

    Logged In: NO

    uhm I don't think the virtual size scroll hack is a problem.
    exupdate 1 and 4 work fine.
    exupdate 2 has the keyboard problems which don't seem to be
    DGA related because they occur with X11 driver too.
    exupdate 3 doesn't work without DGA because the X11 driver
    doens't support triple buffering.
    I saw a thread at the allegro.cc forums about the same
    keyboard problem on windows with triple buffering.

     

Log in to post a comment.