Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Dev

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

 

 

MythTV dev RSS feed   Index | Next | Previous | View Threaded


myrdhn at gmail

Oct 21, 2009, 5:55 AM

Post #1 of 5 (829 views)
Permalink
Re: [mythtv-commits] mythtv commit: r22552 by cpinkham

-----Original Message-----
From: mythtv-commits-bounces [at] mythtv
[mailto:mythtv-commits-bounces [at] mythtv] On Behalf Of
mythtv [at] cvs
Sent: Tuesday, October 20, 2009 11:33 PM
To: mythtv-commits [at] mythtv
Subject: [mythtv-commits] mythtv commit: r22552 by cpinkham

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.

_______________________________________________

Might this fix the issue I have been seeing that seems to reload all the
fanart images when I stop watching a recording?
I haven't reported it yet as I was trying to find out more info. But, it
seems that, since the upgrade of how fanart is handled when I exit a
recording it reshows the fanart for that show I just watched, and a split
second later it reloads them, as if I just selected them for the first time.

MarcT

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


cpinkham at bc2va

Oct 21, 2009, 9:02 AM

Post #2 of 5 (776 views)
Permalink
Re: [mythtv-commits] mythtv commit: r22552 by cpinkham [In reply to]

* On Wed Oct 21, 2009 at 08:55:53AM -0400, MarcT wrote:
> Might this fix the issue I have been seeing that seems to reload all the
> fanart images when I stop watching a recording?
> I haven't reported it yet as I was trying to find out more info. But, it
> seems that, since the upgrade of how fanart is handled when I exit a
> recording it reshows the fanart for that show I just watched, and a split
> second later it reloads them, as if I just selected them for the first time.

I don't believe this will fix that. I think what you're seeing is due to
the reload of the recording list. I believe the code currently rebuilds
the buttonlist widget from scratch instead of editting it in-place. That
is one of the concessions we had to make to get 0.22 out the door anytime
soon but hope to resolve for 0.23. We also would like to get rid of the
full recording list reload and just load the deltas.

--
Chris
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


stichnot at gmail

Oct 21, 2009, 9:42 PM

Post #3 of 5 (751 views)
Permalink
Re: [mythtv-commits] mythtv commit: r22552 by cpinkham [In reply to]

On Tue, Oct 20, 2009 at 8:32 PM, <mythtv [at] cvs> 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
/usr/share/mythtv/themes/blue-abstract-wide/recordings-ui.xml
2009-10-21 21:20:10.126 Finished loading window theme from
/usr/share/mythtv/themes/blue-abstract-wide/recordings-ui.xml
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).

Jim
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


cpinkham at bc2va

Oct 22, 2009, 2:58 PM

Post #4 of 5 (731 views)
Permalink
Re: [mythtv-commits] mythtv commit: r22552 by cpinkham [In reply to]

* On Wed Oct 21, 2009 at 09:42:28PM -0700, Jim Stichnoth wrote:
> 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 perceived speed got faster with my first commit, but slightly
slower for some with my second the next day, so you may be one of
the people running into another issue I'm looking at.

> 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?

I have a patch in my tree that reworks things slightly to try to make
sure we've had ample time to draw the initial screen before we call
Init() and FillList(). It fixes the speed regression that I saw with
my 2nd patch above. I'm also running a test patch which pops up a busy
dialog during the load so that the user is given feedback that we're
loading something. The "Loading..." busy dialog goes away after Init()
and FillList() are done. The mai issue I ran into with that is that
Init() runs in the UI thread, so we're blocking the UI during the load
so the busy dialog's animations can't occur. To fix this, I'm looking
at threading off the actual load of data so we don't block the UI.
When the load is compete, the UI thread would then be able to draw
the loaded data. The speed fixes will probably go into -fixes soon,
but the threaded load will probably have to stay just in trunk until
after the release.

--
Chris
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


stichnot at gmail

Oct 23, 2009, 7:15 AM

Post #5 of 5 (718 views)
Permalink
Re: [mythtv-commits] mythtv commit: r22552 by cpinkham [In reply to]

On Thu, Oct 22, 2009 at 2:58 PM, Chris Pinkham <cpinkham [at] bc2va> wrote:
> * On Wed Oct 21, 2009 at 09:42:28PM -0700, Jim Stichnoth wrote:
>> 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 perceived speed got faster with my first commit, but slightly
> slower for some with my second the next day, so you may be one of
> the people running into another issue I'm looking at.
>
>> 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?
>
> I have a patch in my tree that reworks things slightly to try to make
> sure we've had ample time to draw the initial screen before we call
> Init() and FillList().  It fixes the speed regression that I saw with
> my 2nd patch above.  I'm also running a test patch which pops up a busy
> dialog during the load so that the user is given feedback that we're
> loading something.  The "Loading..." busy dialog goes away after Init()
> and FillList() are done.  The mai issue I ran into with that is that
> Init() runs in the UI thread, so we're blocking the UI during the load
> so the busy dialog's animations can't occur.  To fix this, I'm looking
> at threading off the actual load of data so we don't block the UI.
> When the load is compete, the UI thread would then be able to draw
> the loaded data.  The speed fixes will probably go into -fixes soon,
> but the threaded load will probably have to stay just in trunk until
> after the release.

Changesets [22571] and [22575] have completely fixed all
responsiveness problems I was seeing on bringing up the Watch
Recordings screen, even for a single-core Atom frontend processing
1000 recordings. Thanks Chris!

Jim
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

MythTV dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.