[mythtv] [mythtv-commits] mythtv commit: r22552 by cpinkham
stichnot at gmail.com
Thu Oct 22 04:42:28 UTC 2009
On Tue, Oct 20, 2009 at 8:32 PM, <mythtv at cvs.mythtv.org> wrote:
> Author: cpinkham
> Date: 2009-10-21 03:32:45 +0000 (Wed, 21 Oct 2009)
> New Revision: 22552
> Changeset: http://cvs.mythtv.org/trac/changeset/22552
> Convert mythfrontend's PlaybackBox (aka Watch Recordings screen) over to
> use the MythUI standard ::Init() method to do data loading and leave the
> ::Create() method for drawing the initial screen. This gives the user
> feedback that they are enterring the Watch Recordings screen rather than
> just displaying the menu and then drawing the PlaybackBox screen in one
> shot. The database load is now done inside ::Init().
> This should improve the perceived responsiveness of the frontend when
> going into the Watch Recordings screen.
This is definitely an improvement. However, on my system, there are
still several seconds of unresponsiveness before the Watch Recordings
screen appears. I added some extra logging to try to see where the
time is going. Example:
[The first logging line is printed immediately after the Watch
Recordings menu item is selected.]
2009-10-21 21:20:09.775 Loading window theme from
2009-10-21 21:20:10.126 Finished loading window theme from
2009-10-21 21:20:10.127 Started FillList
2009-10-21 21:20:12.261 Finished FillList
[The Recordings screen is more or less rendered somewhere here.]
2009-10-21 21:20:13.729 Started FillList
2009-10-21 21:20:14.949 Finished FillList
[The Recordings screen makes a focus change and stabilizes.]
Loading the theme XML takes less than a half second (and perhaps that
will stay cached at some point). PlaybackBox::FillList() takes more
than 2 seconds the first time.
I think it would appear much more responsive if the screen could be
redrawn with say just the background of watchrecordings window after
recordings-ui.xml is loaded but before FillList() is called.
Unfortunately, I can't figure out how to make that happen. Presumably
it would just be a one-line change?
This frontend is the single-core Zotac IONITX "C" board, and there are
about 1000 recordings (this happens when you collect every episode of
a number of kids' TV series).
More information about the mythtv-dev