[mythtv] [mythtv-commits] mythtv commit: r22552 by cpinkham

Jim Stichnoth 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
> Modified:
>   trunk/mythtv/programs/mythfrontend/playbackbox.cpp
>   trunk/mythtv/programs/mythfrontend/playbackbox.h
> Log:
> 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 mailing list