Results 1 to 6 of 6

Thread: Pocket PC GAPI and OpenGL ES

  1. #1
    Junior Member
    Join Date
    Aug 2004
    Posts
    7

    Pocket PC GAPI and OpenGL ES

    This is sort of a newbie question.

    I have a question to those of you who develop applications for Pocket PC (Windows CE). And use OpenGL ES. What is the relation of GAPI and OGL ES? Do they complement each other? Do I have to use GAPI functions to do the basic operations like double buffering or others? Obviously input handling canít be handled by OGL ES at this point so I guess GAPI is good for it. Or it is better to leave all the operations to OGL ES?

    Iíve seen the Vincentís code and they do utilize GAPI, but Iím not sure what is the rational behind it.

    Please advise.

  2. #2
    Senior Member
    Join Date
    Sep 2003
    Location
    Seattle, WA
    Posts
    246

    Re: Pocket PC GAPI and OpenGL ES

    Vincent itself actually does *not* use GAPI. I've been considering using PocketHAL, but as it turns out on all devices that I personally own the performance difference between a standard GDI Blit and these lower level APIs is negligable/non-existant. (See the table on the droneship web site) So the feature has been lingering around as enhancement request since January.

    Since with OpenGL ES you always render into an off-screen surface which gets pushed into the screen by an explicit call, all that you really gain by using GAPI is a little bit less of GDI overhead plus possibly an overhead if your system actually does give you a backbuffer instead of the actual screen memory using GAPI.

    GAPI, however, is still useful to gain access to all buttons and the joypad (if it has such) on the device.

    - HM

    [ November 06, 2004: Message edited by: Hans-Martin Will ]

  3. #3
    Junior Member
    Join Date
    Aug 2003
    Posts
    11

    Re: Pocket PC GAPI and OpenGL ES

    From tests that I've run over the last few years on a variety of Pocket PC devices, the GDI BitBlt can be up to an order of magnitude slower than even a simple memcpy from an offscreen back buffer in RAM to the GAPI buffer.

    I couldn't find any table on droneship.com that compared GDI blits to anything. I did find a table there that compared GAPI to PocketHAL and it looked like PocketHAL was up to 2x faster on some devices.

    The advantage you do have in using GDI with Vincent though is that the GDI BitBlt performs clipping against your window boundary and against any other overlapping UI objects (menus, message boxes, etc.). Any sort of blit you used with GAPI is going to clobber anything on the screen. Not a big deal when running full-screen, but not good if you're running in a window and a notification of some sort pops up.

    [ November 08, 2004: Message edited by: don ]

  4. #4
    Senior Member
    Join Date
    Sep 2003
    Location
    Seattle, WA
    Posts
    246

    Re: Pocket PC GAPI and OpenGL ES

    Oops, true, not sure which table I was referring to, as the one given only compares GAPI and PocketHAL. Anyway, for Imageon (on a Toshiba) the times for PocketHal are the ones I get using BitBlt. For others I am in the 2-3ms range.

    Anyway, I am still looking for a volunteer to help setting up PocketHAL support for Vicent .

    - HM

    [ November 07, 2004: Message edited by: Hans-Martin Will ]

  5. #5
    Junior Member
    Join Date
    Aug 2003
    Posts
    11

    Re: Pocket PC GAPI and OpenGL ES

    Just curious as to which Toshiba device you're seeing this sort of performance level?

    I'm assuming you're creating a top-down DIB section for your back buffer?

  6. #6
    Senior Member
    Join Date
    Sep 2003
    Location
    Seattle, WA
    Posts
    246

    Re: Pocket PC GAPI and OpenGL ES

    e750, also has Imageon chip/400MHz CPU like the 740 listed (they only changed the LCD screen itself). The problem with Imageon is the video bus, as I've been told.


    DIBSection: You can see the code in the surface constructor in Surface.cpp, the blitting code is in eglSwapBuffers.

    - HM

Similar Threads

  1. Pocket PC questions
    By Alaric in forum OpenGL ES general technical discussions
    Replies: 6
    Last Post: 02-18-2008, 07:05 AM
  2. OpenGL ES on Pocket PC
    By Alaric in forum OpenGL ES general technical discussions
    Replies: 3
    Last Post: 11-04-2005, 01:26 PM

Posting Permissions

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