[mythtv] [mythtv-commits] Ticket #3350: ThreadedPreview Gen does not use qmap index consistently

Mark Spieth mark at dclabs.com.au
Thu Apr 26 22:50:07 UTC 2007


>> Running too many at a time could actually hurt performance
>
> Yep, my FEs are pretty powerful (AMD64 X2 4200+ with untold
> gigs of RAM) so I can delete all the previews and scroll
> through all my recordings without a hickup, but a VIA 1Ghz
> with 512 MB would be a completely different matter.
>
my patch in #3353 does nice things for my xbox FE. my thinking is that if 
the FE is on the BE, then its still the same machine.
the main problem I suspect is that preview image gen and preview video 
display happen simultaneously and thus with NFS enabled for the recording 
dir you get 2 streams of the same recording streaming to the FE starting at 
the same time (av_find_sream_info). though nfs cacheing should mitigate that 
a bit but with only 64M and lots of swapping going on, it wont be caching 
much if anything unless the streams are extremely synced, which is unlikely.
perhaps there is a way to utilize the preview video to grab an image from 
the live stream instead. avoid duplication.
with the image gen relegated to the backend and preview video to the FE, the 
palybackbox experience is much nicer.
Of course the other solution is to disabled threaded preview image gen. then 
it just waits before preview video is started.

I dont know if there is some metric that can be used to sense the 
grunt/ability of the machine, perhaps how much swap is used compared with 
total real mem combined with expected extra mem usage for the task/s at 
hand. just needs to be calced at FE startup.

>> > generator on the backend is that it can take down the whole
>> > backend when ffmpeg segfaults when processing a broken
>> This is one of the reasons I broke out mythcommflag into a
>> separate executable a long time ago.  I didn't want flagging
>> to be able to take down the backend. Some people might like
>> the ability to run:
>> mythblah -c chanid -s startime -f framenum -o /path/to/snapshot.png

what I do normally is use an exception handler around code that could 
segfault to catch them and recover without killing the whole app.

mark 



More information about the mythtv-dev mailing list