To my big surprise I realized that the graph startup times on my nova hd dvb-s2 card (hauppauge) are approx 5 secs.
And probably other cards as well.
eg.
2010-06-28 08:24:32.729432 [(227)]: dvb: RunGraph
2010-06-28 08:24:37.631712 [(227)]: dvb: LockedInOnSignal ok
those 5 secs. are spent in the following call:
int hr = ((IMediaControl)_graphBuilder).Run();
Currently it works like this:
each time a card is idle the graph is stopped.
each time a card is tuned to a channel the graph is started.
I thought about why not try and change the cycle to:
each time a card is idle the graph is PAUSED.
each time a card is tuned to a channel the graph is RESUMED.
Please note: it's the serverside (tswriter) graph that is being referenced, not the clientside graph.
It seems it did the trick for me on this specific card.
I've added an intial patch+binaries (for rc5+) which in essence does the following 2 things:
1) graph is NOW always paused instead of stopped.
Only when the tvservice is Disposed/stopped it will use a proper stopgraph call.
Seems like pausing the graph makes retuning any channel on the card a wee bit faster.
in my case 3-5 secs. faster - simply because those hauppauge drivers seem to spend a huge amount of time when starting the graph.
In retrospect:
Doing a complete stop-start graph cycle is costly.
Doing a pause-resume graph cycle is cheaper.
2) the "preload card" option has been extended to also start/run the graph, should make 1st tunes a bit faster as well.
Please test and report back issues.
would like to see results from people:
- with twinham cards
- users with long RunGraph-LockedInOnSignal delays (check tv.log)
- users with CI/CAMs
- users in general
Try before applying the patch :
Tune channel.
Stop channel.
Tune channel.
Stop channel.
(measure time it takes to tune channel)
Try after applying the patch :
Tune channel.
Stop channel.
Tune channel.
Stop channel.
(measure time it takes to tune channel)
remember to also test suspend-resume on tvservice.
brief version history:
1: initial version-
2: fixed EPG grabber stopping graph instead of pausing it. thx romuz.
3: compiled for svn.26258 - webstream and IP TV cards now use the stopgraph call instead of pausegraph.
EDIT:
0003039: some cards are slow at tuning. - MediaPortal Bugtracker
committed to svn.
/gibman
And probably other cards as well.
eg.
2010-06-28 08:24:32.729432 [(227)]: dvb: RunGraph
2010-06-28 08:24:37.631712 [(227)]: dvb: LockedInOnSignal ok
those 5 secs. are spent in the following call:
int hr = ((IMediaControl)_graphBuilder).Run();
Currently it works like this:
each time a card is idle the graph is stopped.
each time a card is tuned to a channel the graph is started.
I thought about why not try and change the cycle to:
each time a card is idle the graph is PAUSED.
each time a card is tuned to a channel the graph is RESUMED.
Please note: it's the serverside (tswriter) graph that is being referenced, not the clientside graph.
It seems it did the trick for me on this specific card.
I've added an intial patch+binaries (for rc5+) which in essence does the following 2 things:
1) graph is NOW always paused instead of stopped.
Only when the tvservice is Disposed/stopped it will use a proper stopgraph call.
Seems like pausing the graph makes retuning any channel on the card a wee bit faster.
in my case 3-5 secs. faster - simply because those hauppauge drivers seem to spend a huge amount of time when starting the graph.
In retrospect:
Doing a complete stop-start graph cycle is costly.
Doing a pause-resume graph cycle is cheaper.
2) the "preload card" option has been extended to also start/run the graph, should make 1st tunes a bit faster as well.
Please test and report back issues.
would like to see results from people:
- with twinham cards
- users with long RunGraph-LockedInOnSignal delays (check tv.log)
- users with CI/CAMs
- users in general
Try before applying the patch :
Tune channel.
Stop channel.
Tune channel.
Stop channel.
(measure time it takes to tune channel)
Try after applying the patch :
Tune channel.
Stop channel.
Tune channel.
Stop channel.
(measure time it takes to tune channel)
remember to also test suspend-resume on tvservice.
brief version history:
1: initial version-
2: fixed EPG grabber stopping graph instead of pausing it. thx romuz.
3: compiled for svn.26258 - webstream and IP TV cards now use the stopgraph call instead of pausegraph.
EDIT:
0003039: some cards are slow at tuning. - MediaPortal Bugtracker
committed to svn.
/gibman