[maemo-developers] N800 & Video playback

From: Siarhei Siamashka siarhei.siamashka at gmail.com
Date: Wed Mar 21 23:20:27 EET 2007
On Tuesday 20 March 2007 15:03, Klaus Rotter wrote:

> > On Tue, Mar 20, 2007 at 09:31:00AM +0100, ext Klaus Rotter wrote:
> >> The memory bandwidth to the N800 LCD framebuffer is 3 times slower that
> >> the bandwidth in the N770? Is it really _that_ big?
> >
> > Siarhei's calculations were correct, so, yes.
>
> Bad... the N770 interface wasn't the fasted either. So we have even a
> more slow down. 

There is one important thing to note. Screen updates are asynchronous and 
are performed simultaneously with CPU doing some other useful things at 
the same time. Screen updates do not introduce any overhead or affect 
performance (at least I did not notice any such effect). So insanely boosting
graphics bus performance will not provide any improvements at all once it is 
capable to sustain acceptable framerate. And what is acceptable depends
on applications. Video may require higher framerate, but it is both high
resolution and high framerate movies that may exceed graphics bus 
capabilities, in this case video will be still played (if cpu is fast enough
to decode it, that's another story) but with some frames skipped and 
many people will not even notice any problems. Quite a lot of people 
are even satistied with 15fps transcoded video, so getting maybe 20-25fps
(random guess) on some videos instead of 30fps is not so bad.

Tearing at the bottom is most likely caused by screen update time being 
longer than two LCD refresh cycles. With tearsync enabled, both screen 
update and refresh cycle start at the same time, refresh is faster, so we
still see the previous frame on the screen. When the first refresh cycle
completes, screen buffer is slightly less than half updated at that moment.
The second LCD refresh cycle starts displaying the data from the new image,
while screen buffer still continues to get updated, but not fast enough to
complete before this second LCD refresh cycle catches up not too far 
from the bottom part of the screen. If the screen update was faster than two
refresh cycles, there would be no tearing visible. Screen update only needs 
to be 15-20% faster to achieve this. If improving graphics bus performance
does  not work, I wonder if it is possible to to reduce LCD refresh rate
instead?

Anyway, I think it is better to believe Daniel and wait for the new
firmware update :)

> On the N770 there was the feature (with SDL games) of 
> doubling the pixels by hardware with a X-server extension. Will this
> feature be available in the new kernel / X11 server for the N800? It
> would be great if it would use the same API.

Doubling pixels will definitely reduce the load on the graphics bus so that
its bandwidth should become not an issue.

More information about the maemo-developers mailing list