×

Discussion Board

Page 1 of 2 12 LastLast
Results 1 to 15 of 17
  1. #1
    Regular Contributor
    Join Date
    May 2007
    Posts
    50

    RDA for Opengles applications

    Can the RDA service be used with game applications? I tried our Opengles program, but I got to see the rendered output only for a few seconds before connection to the device was lost.

  2. #2
    Nokia Developer Moderator
    Join Date
    Nov 2006
    Location
    Helsinki
    Posts
    413

    Re: RDA for Opengles applications

    Unfortunately this is due to one of the limitations of the currently used RDA implementation:

    Some applications, that use HW-acceleration, like the OpenGL- example provided with the Open C-plugin, can't be tested with RDA. Although the application runs on the device ok, RDA is unable to capture screendata from it and therefore the launched application seems to get "stuck" on the backround. They can also quite easily jam the device, if the user is not careful enough.

  3. #3
    Regular Contributor
    Join Date
    May 2007
    Posts
    50

    Re: RDA for Opengles applications

    Adding User::After(0) after the Render call worked. I could see the game running on N95 at ~52fps
    Couldn't get to test on non hw accelerated devices as I ran out of credits....

  4. #4
    Nokia Developer Moderator
    Join Date
    Nov 2006
    Location
    Helsinki
    Posts
    413

    Re: RDA for Opengles applications

    Thanks for the info, and glad to hear you got the problem solved afterall..

    I handed you more credits, the automatic credit restored seems to be disabled after the update we did during the weekend.. Gotta fix that tomorrow.

  5. #5
    Regular Contributor
    Join Date
    May 2007
    Posts
    50

    Question Re: RDA for Opengles applications

    Quote Originally Posted by bloodredsky
    I handed you more credits, the automatic credit restored seems to be disabled after the update we did during the weekend.. Gotta fix that tomorrow.
    Thanks bloodredsky, I did a test on non hw accelerated devices (E60, N73) but couldnt see anything, athough I could exit the application safely (knowing the exit key sequence).

    I reasoned adding User::After would work based on the following: I could see Snake(3d) running on N95, also in our game, I could see the logo & splash screen - both have a one second delay introduced through User::After.

    Ok, now it should have also worked on non hw acc devices as one second should be sufficient for RDA to do the necessary screen capture. But I couldn't even see the logo or splash screen. Also, the application runs with Idle priority. Furthermore, the tutorials (on E60 or N73) are captured by RDA properly - can you tell us why?

  6. #6
    Nokia Developer Moderator
    Join Date
    Nov 2006
    Location
    Helsinki
    Posts
    413

    Re: RDA for Opengles applications

    I'll forward this case to the RDA developers, maybe they can come up with a solution for those non hw-accelerated devices.. Or at least define specifically what can be done and what can't.

  7. #7
    Regular Contributor
    Join Date
    May 2007
    Posts
    50

    Re: RDA for Opengles applications

    Quote Originally Posted by bloodredsky
    I'll forward this case to the RDA developers, maybe they can come up with a solution for those non hw-accelerated devices...
    Hello bloodredsky, do we have any update on this?
    As is the RDA service is wonderful, it would become even more so with support for opengles apps on non hw-accelerated devices.

    Thanks.

  8. #8
    Nokia Developer Moderator
    Join Date
    Nov 2006
    Location
    Helsinki
    Posts
    413

    Re: RDA for Opengles applications

    This is the reply I got from them:

    -----------------

    Typically OGL-applications work just fine - given that they follow the general guidelines for implementing Symbian OS applications. The basic requirement would be that they are not running in a 100% CPU busy-loop.

    If a program on a device takes virtually all the CPU by not sleeping every once in a while (say, after each rendered frame) - it is not possible for the RDA application to capture and transmit the screen.

    So, yes, adding delays to the application will help [User::After(0) is equivalent of User::After(15000) - which sleeps for the shortest time possible, ~15.6ms (or 1/64sec)]

    -----------------

  9. #9
    Regular Contributor
    Join Date
    May 2007
    Posts
    50

    Re: RDA for Opengles applications

    Quote Originally Posted by bloodredsky
    Typically OGL-applications work just fine - given that they follow the general guidelines for implementing Symbian OS applications. The basic requirement would be that they are not running in a 100% CPU busy-loop.
    I have tried "S60_Platform_3D_Game_Engine_Example_v1_1_en" on E60 & 5500 sports and I couldnt see anything rendered!

    Quote Originally Posted by bloodredsky
    If a program on a device takes virtually all the CPU by not sleeping every once in a while (say, after each rendered frame) - it is not possible for the RDA application to capture and transmit the screen.

    So, yes, adding delays to the application will help [User::After(0) is equivalent of User::After(15000) - which sleeps for the shortest time possible, ~15.6ms (or 1/64sec)]
    I've already tried delay of 1 sec User::After(1000000) immediately after the render call.
    Is there any other place I need to insert a delay?

  10. #10
    Nokia Developer Moderator
    Join Date
    Nov 2006
    Location
    Helsinki
    Posts
    413

    Re: RDA for Opengles applications

    Continued:

    -----------

    Did you try with the color & resolution settings set to minimum (4bit grayscale with reduced resolution) configuration?

    RDA will transfer any and all graphics that are visible in the _Symbian OS_ frame buffer to the PC given that sufficient CPU resources exist.

    Usually with HW accelerated graphics the problem is that the used graphics pipeline does not go through the Symbian OS frame buffer.

    -----------

  11. #11
    Regular Contributor
    Join Date
    May 2007
    Posts
    50

    Re: RDA for Opengles applications

    Quote Originally Posted by bloodredsky
    Did you try with the color & resolution settings set to minimum (4bit grayscale with reduced resolution) configuration?
    Yes.

    Quote Originally Posted by bloodredsky
    RDA will transfer any and all graphics that are visible in the _Symbian OS_ frame buffer to the PC given that sufficient CPU resources exist.

    Usually with HW accelerated graphics the problem is that the used graphics pipeline does not go through the Symbian OS frame buffer.
    On the contrary, I've found no problems testing on HW accelerated devices (N95, N93).
    It is the "Non HW accelerated" devices (N73, E60 and others) that wont display the rendered image with RDA.

  12. #12
    Nokia Developer Moderator
    Join Date
    Nov 2006
    Location
    Helsinki
    Posts
    413

    Re: RDA for Opengles applications

    Maybe some Symbian expert could comment how the 3D gfx is handled differently on those non-hw accelerated devices (does the screendata go through Symbian OS frame buffer or not etc).. My knowledge on the subject is unfortunately too limited to give any further advices :P

    Funny thing tho, I would have thought that the hardware accelerated devices were to cause this type of problems, not the other way around.

  13. #13
    Nokia Developer Expert
    Join Date
    Mar 2003
    Posts
    68

    Re: RDA for Opengles applications

    Hi.

    There are multiple ways to implement the EGL window surface support. Current (note: this may change) HW implementations do route the pixel data through the "system frame buffer". This is the reason why you can also capture the pixel data directly from there. There are some reasons why you would like to do it differently. E.g., you could want to "flip" 3D back buffers vs. copying the pixels from 3D back buffer to the system frame buffer, you could want to synchronize the flip to the display refresh to get tearing free graphics etc.

    Some of the SW OpenGL ES implementations use different way to address the display that is NOT through the system frame buffer (where standard UI resides).

    Note that this is the current state and may change in the future (e.g., HW accelerated devices also go through more direct way to the display).

    IF screen capture is important and it is not strictly required that window surfaces are used, then one can use EGL pbuffers for render and call eglCopyBuffers( ) to get the pixel data to a Symbian bitmap and then blit that to the display (goes to standard system frame buffer).

    This has the downside on HW accelerated OpenGL ES implementations your 3D performance drops to ~30-40% compared to window surface. Also, if your aim was to remotely test the application (with window surfaces), then pbuffers are not strictly testing that.


    Jani Vaarala
    Graphics Architect
    Nokia

  14. #14
    Regular Contributor
    Join Date
    May 2007
    Posts
    50

    Re: RDA for Opengles applications

    Flame, thank you for the detailed explanation.

    I now see why screen capture utilities are not able to capture Opengles application screens.

    Btw, is it possible to directly access video/screen memory (frame buffer) to do the screen capture?

  15. #15
    Nokia Developer Expert
    Join Date
    Mar 2003
    Posts
    68

    Re: RDA for Opengles applications

    Not the one that is used for direct "flip" updates (AFAIK). Or at least if it can somehow be hacked now, there is no guarantee that it will work the same way in future devices.

    Jani Vaarala
    Graphics Architect
    Nokia

Similar Threads

  1. Customize the look and feel of the Nokia Device menu’s and applications
    By mukteshwar in forum Feedback - Nokia Developer Services & Infrastructure
    Replies: 2
    Last Post: 2006-04-07, 19:48
  2. Applications crashing in Cingular-branded 6682. Feedback appreciated.
    By Razor1973 in forum General Development Questions
    Replies: 3
    Last Post: 2006-01-27, 13:11
  3. 3300: Crash on installing Java applications from Memory Card
    By Jhn314 in forum Mobile Java General
    Replies: 0
    Last Post: 2003-08-19, 14:18

Posting Permissions

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