Page 1 of 1

PocketHAL + Symbian + Screen Flickering!!

PostPosted: Oct 7, 2005 @ 9:59pm
by EvilMaio
Hi folks!

I'm trying PH on symbian devices.

On my 6600 my demo runs fine, on 6630 it flicker (tearing) a lot!

There is a way to have vertical sync on symbian devices?

I googled few hours and i found nothing,looks like that on s60 devices we can't have flicker free applications (??)

Is this possible?? So how commercial games did???

Update: i tried direct screen access sample from nokia and looks good also on 6630 (no tearing), so i suppose something went wrong with PocketHal :((

PostPosted: Oct 9, 2005 @ 9:12pm
by Kzinti

PostPosted: Oct 10, 2005 @ 8:32am
by EvilMaio

PostPosted: Oct 10, 2005 @ 10:01am
by Kzinti

PostPosted: Oct 10, 2005 @ 10:25am
by EvilMaio
Actually,
i'm looking on nokia sample:



Looking on sources, i can't see anything really interesting on that code..and i suppose you already
knew it (i found only that sample from nokia)

Anyway nokia application doesn't flicker :(

PostPosted: Oct 10, 2005 @ 6:15pm
by Guest
Isn't the address received to the "display" in fact an address to a back buffer? If you draw something to that address you still have to trigger a redraw for the things to show? This was true for older nokia devices, but I don't know how it is with newer ones.

When I developed things for symbian, the SonyEricsson devices returned the address to the display but nokia devices did not expose the display directly, but returned an address to a back buffer.

The problem of syncing the blit with vblank is a problem that was also discussed heavily, but I think that the only official answer was that these API:s would be available in later versions of symbian. There is AFAIK no way to sync with vblank if you are using DSA.

PostPosted: Oct 10, 2005 @ 6:52pm
by Kzinti

PostPosted: Oct 10, 2005 @ 7:16pm
by EvilMaio

PostPosted: Oct 10, 2005 @ 7:45pm
by Kzinti

PostPosted: Oct 10, 2005 @ 9:53pm
by Kzinti

PostPosted: Oct 10, 2005 @ 10:16pm
by EvilMaio
Same as before :?

Perfect on 6600
Flicker on 6630

I'm trying to send sample test also to my friends with other serie60 phones.

PostPosted: Oct 10, 2005 @ 10:35pm
by Kzinti
When you say flickering, do you mean flickering or tearing? Can you descrive in more details what you see? What are you testing?

OK, this time I disabled DirectScreenAccess on the 6630. Can you give it a try? Thanks.


<TT: Deleted attachment>

PostPosted: Oct 10, 2005 @ 11:07pm
by EvilMaio

PostPosted: Oct 11, 2005 @ 12:12am
by Kzinti
Oh it is a simple thing, but an annoying one.

Most Symbian Serie 60 phone do not actually provide direct screen access. What they do is give you access to some other buffer that gets copied to the actual display when you send a ERedraw event to UserSvr. I say "most" but I tough there were all like that.

It seems that this isn't the case of the 6630 (ie: when you draw you are actually updating the display directly). This would explain the flickering.

You will notice that the Symbian sample assumes that the buffer returned by DirectScreenAccess is the actual display.

To make things safer, I will not assume this anymore. Instead, I will enable the optimization only for phones I know are double buffered.

PostPosted: Oct 11, 2005 @ 12:28am
by EvilMaio
Well done Thierry,

i made a simbolic donation (i'm already a registered user) to thank you for your time and patience :)

Hope to have soon latest version :)

Thanks again.