[mythtv] [mythtv-commits] Ticket #3361: Improve Preview Generation
Michael T. Dean
mtdean at thirdcontact.com
Sat Dec 8 19:04:09 UTC 2007
On 12/08/2007 01:39 PM, Chris Pinkham wrote:
> * On Sat Dec 08, 2007 at 05:46:55PM -0000, MythTV wrote:
>
>> #3361: Improve Preview Generation
>> Comment(by sphery <mtdean at thirdcontact.com>):
>>
>> The attached patch, mythtv-find_file_for_preview_gen.patch , modifies the
>> Storage Group changes committed in [15029] based on the suggestion from
>> Chris Pinkham at http://www.gossamer-
>> threads.com/lists/mythtv/dev/303576#303576 . I think the changes are as
>> he suggested and fit in well with the preview generator changes in
>> [15029], but I'm happy to make additional changes as necessary.
>>
> Daniel already has a patch to correct this issue which actually reverts
> part of his original patch based on my comments in the above thread.
>
Sounds good. As he had a plan for the original preview generation
changes patch, and I looked only at fixing the immediate problem--I
didn't go through all the rest of his patch--I'm sure his changes will
fit better into the big picture. More than anything, I just needed
something to prevent my backend from getting swamped by preview
generation. And, a quick fix is available for anyone else until Daniel
finishes his changes (so Daniel doesn't have to make this change top
priority).
>> Without the patch, going to the MythWeb Recorded Programs page takes
>> forever and results in a huge CPU usage spike (mythbackend was running at
>> 100% on my Athlon XP 2400+ (load average > 6) for so long that I just
>>
> I just had another thought about this that would improve preview speed. In
> programs/mythbackend/backendutil.cpp, I added a recordingPathCache along
> with the appropriate lock and exported GetPlaybackURL() function. It
> probably makes sense to move this caching to the Storage Group level in
> libs/libmythtv/storagegroup.cpp. We should be able to get rid of the
> recordingPathCache if we had a StorageGroupCache. The StorageGroupCache
> would give us speedups for anything looking for a file in a Storage Group
> directory. That way we'd get the benefit of the cache for any files that
> are stored in a Storage Group, including the recordings, pixmaps, and
> anything else we store there later.
Great plan--especially since I have several ideas for things to store
there... ;) Just need to get done with the big change at the top of my
TODO list (which will put the first other thing--DB backups--in there).
I'm also looking at modifying the preview generator so that if a
specially-named storage group--i.e. 'Previews' or 'Thumbnails' or
something--exists, the preview pixmaps are stored there rather than in
the "normal" recording directories (kind of like the LiveTV storage
group puts LiveTV recordings into a specific dir(s)). This would allow
us to clean up the recordings directories--so they just contain, er,
recordings. :) I'll wait until Daniel's changes settle out a bit
before implementing that, though.
Mike
More information about the mythtv-dev
mailing list