View Single Post
Posts: 306 | Thanked: 603 times | Joined on Jan 2012 @ Belgium
#377
Originally Posted by freemangordon View Post
Well, stritly speaking, you should not rely on your window size to decide if you are landscape or portrait, that is why desktop size is. Anyway, it is up to you.

When I am back home I will post some other Maemo5 specifics for fullscreen that might boost performance even further.
Actually, I don't make any distinction between running in portrait
or landscape mode, i.e. I don't need the window size to decide if
I am in landscape or portrait mode. I need the windows size for
other purposes. Let me try to explain this:

The phoneME backend is responsible for rendering a midlet in a
virtual framebuffer, i.e. a 16-bit RGB buffer of size width*height.
The Qt4 frontend then draws this buffer (after wrapping it in a
QPixmap). If the width or height changes (after going full screen
or after rotation), I get a Qt4 window resize event, and pass along
the new width and height to the phoneME backend so it can
update its RGB buffer accordingly.

Furthermore, since phoneME is drawing in a virtual framebuffer, it
only needs to know what the width and height of the framebuffer
is, not whether it is running in portrait or landscape mode.

Basically, the Qt4 front-end is only responsible for displaying a
16-bit RGB buffer and for redirecting all pointer and keyboard
events to the phoneME backend. The phoneME backend informs
the Qt4 front-end when the 16-bit RGB buffer has changed so that
the front-end can repaint it again. Next to that the front-end also
notifies the backend about window size changes, and can also
draw text on the RGB buffer using the local font (if you are not
using the monospace bitmap built-in font). The phoneME backend
does not use any Qt4 at all.

Anyway, I am looking forward to any tips you may have to further
improve the full screen drawing performance.

Cheers,
Davy
 

The Following User Says Thank You to DavyP For This Useful Post: