Active Topics

 


Reply
Thread Tools
Posts: 10 | Thanked: 2 times | Joined on Jan 2010
#1
I tried the simpleglv2 example which runs for me at 92fps on the N900.

But the whole device and OpenGL runs without vsync which makes scrolling the desktop look horrible, and the OpenGL app as well.

Is there anyway to turn this on? Dunno what the frame rate would be, maybe 30 or 60Hz?

This is a VERY SERIOUS ISSUE! If nokia even wants to _try_ to compete with the iphone this has to be solved right away!
 
Posts: 144 | Thanked: 10 times | Joined on Mar 2010
#2
true, lack of vsync makes the n900 seem like a rush job (which nokia have admitted to in some ways, such as not having enough time to add an official fm radio application etc)

Im not sure if vsync could be added to the device through individual apps (eg software requiring alot of scrolling), or a third party update..but it would be great if something could be done to fix this issue. screen tearing makes .the n900 look ugly, lol
 
Posts: 30 | Thanked: 7 times | Joined on Feb 2010
#3
Is there any way to enable vsync? Even a hack? Even better if this could be done in Python Qt application... Performance should not be an issue in this case! The tearing effect just doesn't look too nice...
 
Posts: 10 | Thanked: 2 times | Joined on Jan 2010
#4
If this is not fixed in this new 1.2 release I'm not coding anything for the n900 and will instead focus on the Android platform. Does anyone know if it is?
 
Posts: 726 | Thanked: 345 times | Joined on Apr 2010 @ Sweden
#5
Originally Posted by jaw_vvd View Post
If this is not fixed in this new 1.2 release I'm not coding anything for the n900 and will instead focus on the Android platform. Does anyone know if it is?
Could you perhaps explain how this is related to the iPhone?

vsync, as far as I know, is only related to devices that actually show a certain set of frames per second, like a TV, and I didn't know the iPhone even had the capability to produce a TV signal.

And why would a vsync issue, related to TV out, be enough to stop you from developing applications?
 
Posts: 10 | Thanked: 2 times | Joined on Jan 2010
#6
It's not related to TV out at all, the N900 suffers badly from tearing (scroll the home screen slowly and you'll see horizontal bands where 2 frames are intermixed and various other jittery movement). And as I said in the first post the test was to see if the GPU is waiting for the next frame before putting out a new one to the screen.
It isn't.

This is how it works (conceptually): the TFT monitor pulls pixels from the framebuffer in the VRAM. It should not do this while a program is rendering into that memory/buffer, so you double buffer and send whole frames. In code - the action where you swap buffers should wait for the GPU to finish its work to keep in sync with the signal to the screen, now it doesn't, this should be solved in the driver. Nokia's official response was "we don't care" a while back.

In this (digital) case it's about 2 chips fighting over the same RAM.

This issue is related to iphone and HTC android phones because they have it which the N900 doesn't hence the N900 is shunning developers away.

One analogy: It feels like someone is taking your artwork and running it thorugh a paper shredder then taping it back together.

You can get vsync tearing on a PC with a TFT monitor if you turn off vsync in your drivers.

Last edited by jaw_vvd; 2010-05-25 at 13:12.
 

The Following User Says Thank You to jaw_vvd For This Useful Post:
Posts: 32 | Thanked: 94 times | Joined on Dec 2009 @ Pärnu, Estonia
#7
umm. vsync is not available on tv out only. lcd display refreshes its picture at certain rate too. When display buffers are not swapped at vsync time. visual tearing occurs. Also, when rendering is not restricted by vsync rate, apps may paint too many frames wasting cpu/gpu cycles and power.
 

The Following User Says Thank You to baxyp For This Useful Post:
Posts: 10 | Thanked: 2 times | Joined on Jan 2010
#8
what baxyp said (in fewer words than me) thanks!

Also the question still stands: is this fixed in 1.2?

Last edited by jaw_vvd; 2010-05-25 at 13:12.
 
Posts: 726 | Thanked: 345 times | Joined on Apr 2010 @ Sweden
#9
How do you propose to let every process that is running know if it's ok to render or not? And, conversely, how would the OS know that all running processes are done rendering and ask the display hardware to update the screen?

Since OpenGLES2.0 relies on the rendering function to swap the buffers when it has rendered one frame, keeping OpenGL applications in sync with normally rendered applications comes across as a bit hard.

And, again, why would this stop you from developing applications? You're not satisfied with how they will look?
 
javicq's Avatar
Posts: 94 | Thanked: 319 times | Joined on Mar 2010 @ Barcelona, Spain
#10
Originally Posted by jaw_vvd View Post
what baxyp said (in fewer words than me) thanks!

Also the question still stands: is this fixed in 1.2?
I was looking for that a while ago too but it seems it won't be fixed for maemo 5:

https://bugs.maemo.org/show_bug.cgi?id=5556
__________________
If you liked my work, you may donate
 
Reply


 
Forum Jump


All times are GMT. The time now is 09:40.