Adam B.
unread,Jan 14, 2008, 4:09:57 PM1/14/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to FBReader
Again, I'm working on my iLiad port of FBReader.
I'm attempting to speed up the screen refreshes. Right now, it takes
about 2.5 seconds to turn to the next page. While this is usable, it
feels very slow. I'd like to speed this up to the limits of the e-ink
technology.
Right now the doPaint function has the following:
static void doPaint(GtkWidget*, GdkEventExpose *event, gpointer data)
{
// Start Rendering the next page
((ZLGtkViewWidget*)data)->doPaint();
// Turn on the busy LED
erIpcStartClient(ER_BUSYD_CHANNEL, &erbusyChannel);
//Refresh the display after everything has painted
display =
gdk_x11_display_get_xdisplay(gdk_display_get_default());
XSync(display, 1);
dmDisplay(dmCmdPriorUrgent, dmQFull);
//Turn off the busy LED
busySetBusy(erbusyChannel, ccBusyState_Off);
}
However, if I enter "((ZLGtkViewWidget*)data)->doPaint();" at the very
end of this function, the refreshes will be much faster (less than a
second). However, the page displayed on the screen is not what
FBReader believes it is. Paging forward, this is not that big of a
deal, but paging backwards and exiting is problematic.
I wonder if it is possible to put some kind of pre-rendering logic in
the program, so the a page can be ready, but then painted as needed.
Also, I've heard that iRex is willing to send out loaner units to
developers. If you contact them in regards to a proper port, they may
be willing to send out a loaner to a developer for free...
Thanks,
Adam